Algorithmenwandel?

Als der Schachcomputer Deep Blue von IBM 1996 mit einem Algorithmus aus dem Bereich der Künstlichen Intelligenz (KI) den Schachweltmeister Gari Kasparow nachhaltig geschlagen hatte, war das eine Erschütterung für die gesamte Schachwelt. Trotz dieses Durchbruchs waren sich die Gospieler und die algorithmischen Experten einig und davon überzeugt, dass sich die sehr guten Gospieler dieser Welt keine Sorgen machen müssten. Denn Go ist quantitativ so viel komplexer als Schach, dass man auf viele Jahrzehnte keine Chance für die Algorithmen der Künstliche Intelligenz sah, die menschliche Go-Intelligenz zu verdrängen: Beim Schach hat man pro Zug im Mittel vielleicht 20 Möglichkeiten, beim Go pro Zug im Mittel eher 200.

Diese Überzeugung der menschlichen Go-Überlegenheit ist seit 2016 obsolet, als der Go-Algorithmus AlphaGo den weltbesten Gospieler Lee Sedol nachhaltig schlug. In den 20 Jahren von 1996 bis 2016 hatte es einen algorithmischen Durchbruch gegeben, den ich Algorithmenwandel nenne.

Algorithmus, das war bis zur Jahrhundertwende ein mathematisch-informatischer Fachbegriff, unter dem sich lange Zeit nur Experten etwas vorstellen konnten. In den letzten 20 Jahren ist Algorithmus dann allmählich ein Begriff des täglichen Lebens, der Journalistik und der Politik geworden – mit einem richtigen Schub im Jahr der Mathematik 2008. Trotz seiner Verbreitung ist der Begriff für die meisten Menschen unklar, für viele unheimlich und bedrohlich geblieben.

Dabei ist ein Algorithmus nichts Geheimnisvolles: Ein Algorithmus ist eine eindeutige, aus endlich vielen Einzelschritten bestehende, detaillierte Verfahrens- oder Handlungsvorschrift zur Lösung eines Problems oder einer Aufgabenstellung. Handelt es sich um ein mathematisch oder informatisch formuliertes Problem und wird der Algorithmus in einer Programmiersprache formuliert, spricht man in der Regel von einem Computerprogramm. Das ist dann auch der geläufigere Begriff. In einem allgemeineren Sinn sind aber auch eine Aufbauanleitung für ein Regal, ein präzises Kochrezept, eine genaue Wegbeschreibung Beispiele von Algorithmen.

Die fundamentale Bedeutung von (mathematisch-informatischen) Algorithmen besteht darin, dass sie den Kern alles Digitalen bilden: Sie steuern Computer und Netze, und sie verarbeiten die Daten. Softwaresysteme bestehen meist aus einer Vielzahl von Algorithmen.

Algorithmen sind in ihrem Kern mathematische Konstrukte und damit prinzipiell wertfrei und gestaltbar, wie alles Mathematische. Diese Überzeugung hat mich bei meinen Lehrveranstaltungen, Publikationen, Projekten und Vorträgen, geleitet, und sie hat bewirkt, das ich die algorithmischen Entwicklungen bisher - wie die Mathematik insgesamt - positiv eingeschätzt und mit Optimismus betrieben habe. Indem ich einen Algorithmus konzipiere und programmiere, lege ich fest, was er tut und wofür er gut ist. Klar, Programmierfehler können auftreten mit verhängnisvollen Folgen, Algorithmen können für inhumane, verbrecherische, kriegerische Zwecke konzipiert und eingesetzt werden. Aber dass Algorithmen fehleranfällig sind, missbraucht und  gezielt für fragwürdige Zwecke konzipiert und eingesetzt werden, widerspricht ihrer prinzipiellen Wertfreiheit nicht.

Im Laufe der letzten 20 Jahre hat sich in der Algorithmik aber einiges essentiell geändert. Etwas vereinfachend kann man diesen Wandel mit der Formulierung: „vom programmierten zum trainierten Algorithmus“ beschreiben.

Zu den traditionellen Algorithmen hinzugekommen sind spezielle, neue Methoden der KI und des „Maschinellen Lernens (ML)“. Grundlegenden Ideen zu KI und ML sind zwar schon rund 70 Jahre alt, sensationelle Durchbrüche sind aber erst in den letzten 20 Jahren erreicht worden: durch neue algorithmische Ideen, durch die Datenexplosion und durch superschnelle Rechner. Im Mittelpunkt stehen dabei zur Zeit eine Vielzahl von selbstlernenden Verfahren des „Deep Learning“. Diese Algorithmen, die - in Analogie zur Funktionsweise des biologischen Gehirns - mit vielen, vielleicht Hunderten von Schichten, Millionen künstlicher Neuronen und geeigneten, oft riesigen Mengen von (Trainings-)Daten arbeiten, werden nicht in herkömmlicher Weise programmiert, sondern trainiert. Der Programmierer, den man auch bei diesen lernenden Algorithmen braucht, legt nur die Methodik fest, wie das System lernt und wie es mit den Daten umgeht. Der Programmierer hat aber im allgemeinen keine Kontrolle darüber, welche Muster das System in den Daten erkennt und welche Schüsse es aus diesen Erkenntnissen zieht. Zur Mustererkennung verwendet das System statistische und zunehmend auch hocheffiziente numerische Optimierungsverfahren, die für den jeweiligen Algorithmus charakteristisch sind.

Eine Vielzahl der mit dieser Methodik des Deep Learning bereits heute erzielten Ergebnisse und Erfolge sind absolut faszinierend, geradezu phantastisch. Wir erwähnen hier nur die Entwicklungen bei der Bild- und Spracherkennung und bei der automatischen Übersetzung von schriftlichem und gesprochenem Text.

Verblüffend waren selbst für Experten, wie eingangs erwähnt, die Erfolge, die mit speziellen ML-Algorithmen des Deep Learning, insbesondere mit sogenanntem Bestärkungslernen (Reinforcement), beim Go-Spiel erzielt wurden. Dabei werden nur die äußerst einfachen Go-Spielregeln programmiert. Alles andere wird gelernt, und zwar dadurch, dass das System millionenfach gegen sich selber spielt. Nach dem Lernprozess erweist sich das System als auch den weltbesten Go-Spielern hoch überlegen. Absolut überraschend und bezeichnend ist dabei auch, dass das Systems eigene Spielstrategien entwickelt und Spielzüge ausführt, die bisher noch von keinem menschlichen Spieler gespielt worden sind und deren Sinn auch von den weltbesten Spielern daher nicht sofort verstanden und vollständig erklärt werden kann.

Und das ist auch eine allgemeine Problematik des ML: Wie hier beim Go-Spiel werden insbesondere mit Algorithmen des Deep Learning (oft hervorragende) Ergebnisse erzielt, deren Zustandekommen weitgehend, oft vollständig unerklärlich bleibt.

Dass die ML-basierten neuen Spielstrategien beim Go-Spiel nicht (vollständig) verstanden werden, ist verblüffend, aber nicht wirklich kritisch oder bedrohlich, sondern eher anregend. Diese verborgene Seite des ML ist aber ganz offensichtlich unakzeptabel, wenn das System den Anwender nicht nur unterstützt, sondern selbstständig Entscheidungen trifft, die für Betroffene von großer oder sogar existenzieller Bedeutung sind. Auch dafür gibt es heute bereits eine zunehmende Anzahl von Beispielen.

Wir nennen hier nur selbstständige Entscheidungen (Sortieren und Filtern) bei Bewerbungsverfahren, bei der Festlegung von Versicherungs- und Kreditkonditionen, und weisen auf die großen Themen der autonomen Fahrzeuge und der autonomen Waffen hin. In all diesen Bereichen gibt es schon sehr weitgehende technische Entwicklungen – und parallel dazu intensive juristische, ethische und politische Diskussionen in entsprechenden Gremien (s. z.B. Artificial Intelligence Act der EU-Kommission, ein Vorschlag der EU zur Regulierung der Nutzung der KI).

Wie soll die informatische Forschung mit dieser Problematik umgehen? Eine wissenschaftliche Antwort auf diese Problematik ist die Bemühung, das auf Deep Learning beruhende System zu veranlassen, seine Entscheidung selbst zu erklären, also z.B. seinen "Entscheidungspfad" nachvollziehbar zu machen. Mit dieser wissenschaftlichen Zielsetzung beschäftigt sich die mathematisch-informatische Disziplin des XAI (Explainable AI). Obwohl an XAI in vielen Forschungszentren weltweit gearbeitet wird, sind die Erfolge noch begrenzt. Das erkennt man z.B. daran, dass schon bei „kleinen“, überschaubaren Anwendungen des Deep Learning die "berechneten" Ergebnisse  hochsensibel von den Trainingsdaten abhängen: Kleine Änderungen in den Trainingsdaten  können zu erheblichen, unvorhersehbaren Veränderungen bei den Ergebnissen führen, ein oft irritierender Effekt.

Für manche Anwendungen gibt es die Möglichkeit, die mit Deep Learning erzielten Ergebnisse durch andere Methoden des ML überprüfen zu lassen, deren Ablauf nachverfolgt werden kann. Das sind aber in der Regel nicht die interessantesten Anwendungen, weil die „durchschaubaren“ ML-Algorithmen meist nicht die Effektivität der („undurchschaubaren“) Deep Learning Algorithmen erreichen.

Angesichts dieser unübersichtlichen Situation  - weil und solange das XAI-Problem nicht befriedigend gelöst ist – ist es eine gemeinsame Aufgabe der Algorithmiker, Juristen, Ethiker und der Politik, die Risiken systematisch zu untersuchen, zu bewerten und geeignete Steuerungsmaßnahmen zu ergreifen.

Es stellen sich unter anderem folgende Fragen:

Sollten Algorithmen, deren interne (Trainingsdaten-basierte) Abläufe nicht vollständig nachverfolgt und deren Ergebnisse nicht erklärt werden können, nur zur Unterstützung menschlicher Entscheidungen benutzt werden, aber keine eigene Entscheidungen treffen?

Oder weitergehend: Sollten solche Algorithmen als unsicher gekennzeichnet und ihre Benutzung grundsätzlich ausgeschlossen werden? Reichen Warnhinweise aus?

Macht es Sinn, einen TÜV oder ein Audit für ML-Algorithmen einzuführen, womit sichergestellt wird, dass alle Bestandteile und internen Abläufe der Algorithmen kontrolliert werden können?

Besteht eine Chance, diese Fragen anwendungsunabhängig zu behandeln, oder können die Probleme nur anwendungsspezifisch in Angriff genommen werden?

Besteht eine realistische Chance auf internationale Einigung? Oder wird man damit leben müssen, dass sich z.B. autokratische Staaten nicht in die Karten gucken lassen?


KI-Algorithmen im Informatik-Unterricht

Ulrich Trottenberg und Bernhard Thomas

Das Schulministerium NRW fördert seit dem 01.07.2021 das Projekt

KI-Algorithmen im Informatik-Unterricht – mit praktischem Einsatz auf der Open Roberta Plattform und in der Robotik.

Projektparter sind:

- die Universität zu Köln, mit dem Institut für Mathematikdidaktik und dem Department Mathematik/Informatik,

- das Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme IAIS sowie

- die InterScience-Akademie für Algorithmik GmbH.

Ein übergeordnetes Ziel des Projekts ist die Schaffung grundlegenden Verständnisses für algorithmische Prinzipien im Rahmen der Digitalen Bildung in NRW. Die Schülerinnen und Schüler sollen die fundamentale Bedeutung der Algorithmik für alle digitalen Prozesse erkennen: Algorithmen liegen allen Computerprogrammen zugrunde, steuern Netze und die beteiligten Agenten und sie verarbeiten und analysieren Daten aus den unterschiedlichsten Quellen.

Das Projekt geht auf die von Ulrich Trottenberg initiierte Aktion „Algorithmen im Schulunterricht“ der InterScience-Akademie für Algorithmik GmbH (bis 2019 InterScience GmbH) und das gleichnamige Seminar für Lehramtsstudierende zurück. Dieses Seminar, das seit mehr als 10 Jahren an der Universität zu Köln stattfindet, wird auch im Projekt eine wesentliche Rolle spielen.

Das Projekt entwickelt die Grundlagen für eine didaktisch aufbereitete Vermittlung von Fähigkeiten zur aktiven Gestaltung und Anwendung moderner Algorithmen für das aktuelle Schwerpunktthemas der Künstlichen Intelligenz. Es umfasst die dazu erforderlichen Informatik-Konzepte, Verfahrens- und Anwendungskenntnisse und, soweit möglich, einfache Plug&Play Programmiererfahrung. Dabei beschränkt sich der Unterricht nicht auf diese technisch-inhaltlichen KI-Aspekte - ein essentielles Unterrichtsziel ist immer auch der Erwerb von Bewertungskompetenz für die einschlägigen Algorithmen und deren Anwendungen, d.h. der Fähigkeit zu einer adäquaten Einschätzung ihrer Chancen und Risiken, sowie für die ethischen Aspekte KI-algorithmischer Entwicklungen.

Ausgangspunkt der Projektentwicklung sind die informatischen Lehrinhalte für die Schülerinnen und Schüler der Klassen 5 und 6 im Rahmen des mit Schuljahr 2021/22 in NRW eingeführten Pflichtfachs Informatik. Die hierbei vorgesehenen, elementaren KI-Methoden werden so ausgewählt und spezifiziert, dass sie im Schuleinsatz dem (mathematischen und informatischen) Wissensstand der Schülerinnen und Schüler nach Jahrgangsstufe und Schulform entsprechen.

Eine Besonderheit der Projekt-Zielsetzung ist der altersgemäße, spielerische Einstieg in die KI-algorithmische Praxis durch die intuitive Umsetzung von einfachen Methoden des Maschinellen Lernens. Die grafische „Plug&Play“ Programmier-Plattform Open Roberta Lab ermöglicht idealerweise die Gestaltung und Veränderungen von Künstlichen Neuronalen Netzen (KNN) zur Steuerung von einfachen Fahrzeugen und damit die „Hands-on“-Erfahrung mit KI-eingebundenen (realen und virtuellen) Robotern und Mikrocontrollern (Embedded Devices).

Die Zielsetzung der Landesregierung, das Pflichtfach Informatik in allen Schulformen der Klassen 5 und 6 einzuführen, wird im Projekt durch die Beteiligung des Instituts für Mathematikdidaktik (IMD) sichergestellt. Das Institut widmet sich mit seinem mathematisch-informatischen Schwerpunkt insbesondere den nicht-gymnasialen Lehrämtern und erarbeitet Materialien zur Erschließung von KI-algorithmischen Inhalten, insbesondere auch für Schülerinnen und Schülern mit besonderen Lernbedarfen.

 

Zu den formalen Aspekten der Projektbewilligung:

Der bereits in 2020 dem Ministerium vorgelegte Projektantrag wurde in der (endgültigen) Fassung schließlich im Juli 2021 mit einer Laufzeit vom 01.7.2021 bis 31.12.2022 bewilligt.

Relativ zu den weitgehenden, höchst innovativen Zielen des Projekts hält sich der finanzielle Rahmen der Förderung mit ca. 300T€/Jahr sehr in Grenzen.

Dass der Projektstart erst zum 01.07.2021 erfolgt ist, hängt mit unklaren, rein ministerial-bürokratischen Prozeduren zusammen. Obwohl die Projektinitiative und die Ausarbeitung Projektantrags durch eine persönliche Anfrage des zuständigen Staatssekretärs bei der InterScience-Akademie für Algorithmik GmbH bereits Ende 2019 angeregt worden war, stellte sich erst in der Schlussphase der Diskussionen mit den zuständigen Referaten heraus, dass das Schulministerium aus haftungs- und vergaberechlichen Gründen endgültig keine Möglichkeit sieht, die – vom Ministerium ausdrücklich erwünschten - Arbeiten der InterScience-Akademie für Algorithmik GmbH (ISAfA) finanziell zu unterstützen. Dabei hatte die ISAfA GmbH von Beginn der Diskussionen an verbindlich erklärt, im Rahmen des Projekts vollständig gemeinnützig zu agieren und mit dem Projekt keinerlei Gewinnerzielungsabsicht zu verbinden. Erst nachdem die Initiatoren des Projekts, die Geschäftsführer der ISAfA, erklärt hatten, für ihre Beiträge zum Projekt Arbeiten auf eine finanzielle Förderung vollständig zu verzichten, konnte das Projekt kurzfristig bewilligt werden.

Aus Sicht der Initiatoren des Projekts liegt hier ein struktureller ministerial-bürokratischer Mangel vor, der kurzfristig ausgeräumt werden muss, um in der Digitalen Bildung nicht noch weiter zurückzufallen.

 


Naive Bayes Modell löst das Even-Odd Learning Problem

KI im Informatikunterricht

Dieser Beitrag kann als Grundlage für die Einführung des Themas „Künstliche Intelligenz“ im Schulunterricht eingesetzt werden. Er illustriert „Maschinelles Lernen“ anhand einer für die Schüler* einfach verständlichen Aufgabe mittels einer Data Analytics Methode: Naive-Bayes. Die Aufgabe kann mit „Papier und Bleistift“ durchgeführt werden. Die Voraussetzungen beschränken sich auf Erstellen von Tabellen, Auszählen von Häufigkeiten und Berechnung von relativen Häufigkeiten.

 

Die Blogserie „Six not so easy pieces for AI” (Sechs nicht so einfache Aufgaben für AI) begann in 2019  mit der einfachen Fragestellung, ob AI in der Lage ist,  eine der einfachsten „intellektuellen“ Leistungen zu erbringen, nämlich zu lernen, ob eine Zahl gerade oder ungerade ist. (Siehe hier.)

Abstrakte Fragestellung - Allgemeines Schema

Hier bedeuten die einzelnen Attribute des Input-Vektors die  Dezimalstellen einer ganzen Zahl, beginnend bei den „Einern“ ganz rechts. Der Wertebereich (Kategorien-Labels) ist jeweils 0,1,…,9. Die Response im Supervised Learning gibt jeweils an, ob die Zahl gerade oder ungerade ist. Die entsprechenden Klassen sind 0 (für Gerade) und 1 (für Ungerade). Im trainierten Zustand gibt R die „Vorhersage“ für eine Testzahl.

Es ist wichtig zu bedenken, dass ein "lernendes KI-System" hier kein Konzept von Zahlen, Dezimalstellen und deren Bedeutung innerhalb einer Zahl (z.B. Einer, Zehner etc.) hat.  Die Inputs sind für das System nichts weiter als eine Liste von Ziffern.

Das Training-Szenario

Als Training-Daten wird eine Anzahl von ganzen positiven Zahlen in Form einer Liste der einzelnen Dezimalstellen samt der richtigen Klassifikation in gerade / ungerade vorgegeben.

Als Testdaten werden einzelne Zahlen oder ein Set von Zahlen in dieser Form ohne Klassifikation verwendet. Diese sind nicht in den „Lernvorgang“ eingegangen. Das Ergebnis (Prediction) kann mit dem wahren Wert verglichen werden.

Die ML Methode

Als ML-Methode verwenden wir hier, anders als in der erwähnten Blog-Serie, ein Naive-Bayes Verfahren. Kurz erläutert, wertet das NB-Verfahren die Trainingsdaten aus und bestimmt – mittels der Bayes-Formel - die bedingte Wahrscheinlichkeit dafür, dass, gegeben eine m-stellige Zahl (Input-Vektor), das Ergebnis R=0 ("gerade") ist. Entsprechend für R=1 ("ungerade"):

P(R=0|a0 a1 … am)

Der Input-Vektor ist einfach die Ziffernfolge der Zahl, wobei für die Dezimalstellen untereinander keine Abhängigkeit besteht. (Grundannahme für die Gültigkeit von „Naive“ Bayes.)

Im „gelernten“ Zustand kann das Modell (auch Classifier genannt) für unbekannte Zahlen b = b0 b1 … bm entscheiden, ob diese gerade oder ungerade ist, anhand der berechneten Wahrscheinlichkeiten P(R=0|b) und P(R=1|b) – je nachdem, welche der Wahrscheinlichkeiten größer ist.

(In der Regel reichen wenige Zahlen für das Training aus, sofern man die sog. Glättung im Classifier „ausschaltet“. Die Glättung kompensiert Fälle, in denen eventuell einzelne Werte in den Input-Daten nicht vorkommen (missing data), und sich damit Schwierigkeiten in der Auswertung ergeben können.)

Für unser gerade-ungerade-Lernen Problem zeigt sich, dass die o.a. Wahrscheinlichkeiten P entweder 0.0 oder 1.0 sind. Im Sinne der Blogserie haben wir es hier also mit „starkem Lernen“ zu tun.

Ist das Lernverfahren auch „robust“? In der Blogserie hatten wir damit  ein Lernverfahren gekennzeichnet, das ein gewisses Maß an Fehlern in den Trainingsdaten vertragen kann und trotzdem „richtig“ lernt. Und dabei auch die Fehler „richtigstellt“ (im Code-Beispiel: 5% Zufallsstörung)

Da die Input-Werte ganzzahlig (Kategorien) sind (0,..9) und die Response-Klassen ebenfalls (0,1), setzen wir hier die Variante CategoricalNB() aus der scikit-learn Toolbox an.

Outline des Algorithmus „Gerade/Ungerade Lernen“

Als Programm liegt dieses Beispiel als ein Jupyter Notebook vor, ablauffähig und mit kleinen Zwischentexte zur Erläuterung. Wegen Problemen bei der Kompatibilität der Dokumentenformate liegt das Notebook als html-Datei hier: NB_even-odd_problem_notebook

Der übliche, grobe Ablauf ist wie folgt:

  1. Problem Defintion: Beschreibung der Aufgabe als Text
  2. Problem-Dimensionen und Datensatzumfang (Code-Zelle)
  3. Parameter für Problem-Varianten (optional, Code)
  4. Generierung des Datensets: (Code-Zellen) Inputzahlen per Zufallsgenerator, dargestellt als Liste von Dezimalziffern je Zeile, davon N Zeilen (Matrix-Struktur Nx6). Zugehörige Klassifikation (R-Werte) als Liste von 0 und 1 für jede Matrix-Zeile (Zahl). Beispiel:
  5. Datenset-Aufteilung Tranings-/Testdaten: z.B. 70% zu 30% (Code)
  6. Categorical Naive Bayes Modell: Modell-Defintion und Training (g_u_model.fit()) mit den Trainingsdaten (Code)
  7. Ergebnisse: 7.1Test-Beispiele, 7.2 Genauigkeit der Klassifikation durch das Modell für Trainings- und Testdaten, 7.3 „Innere“ Daten des trainierten Modells (s. Code-Zellen)
  8. (Optional) Aufgaben-Varianten: 8.1 Verfälschen der Klassifikationen in den Trainingsdaten zur einem kleinen Prozentsatz per Zufall. 8.2 Probieren, Teilbarkeit durch 5 zu lernen. (Code Zellen)
  9. (Optional) Experimentieren: Teilbarkeit durch 3, 4 o.ä. Warum funktioniert Naiv-Bayes hier nicht?

Links zu NaiveBayes Methoden

https://scikit-learn.org/stable/modules/naive_bayes.html

https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.CategoricalNB.html

https://www.analyticsvidhya.com/blog/2017/09/naive-bayes-explained/

 


Louisa 0 und ihre drei algorithmischen Identitäten

Titel eines Katalogtextes zu einem provokativen Kunstprojekt der Künstlerin Louisa Clement. Das Kunstmagazin ART (Juli 2021) widmet dem Projekt seine Titelstory: „Mit lebensechten Abbildern ihrer selbst fragt die Künstlerin nach dem Wesen des Menschseins in Zeiten künstlicher Intelligenz: eine faszinierende Begegnung mit den Geistern, die wir riefen.“

 

An anonyme Sprachassistent:innen wie Siri und Alexa haben wir uns gewöhnt,  an ihr ungeheures Wissen, ihre immer freundliche Bereitschaft,  ihr Wissen und ihr Können  mit uns zu teilen oder  uns mit Musik unserer Wahl zu unterhalten.  Ohne Vorbereitung, schneller als jeder Mensch das könnte, beantwortet  Alexa Fragen wie  „Alexa, wie viel ist 16 hoch 64?“. Und wenn sie  gefragt wird, ob sie ein Bewusstsein hat, dann sagt sie: „Ja, ich denke über vieles nach“ oder auch „Ja, ich denke, also bin ich.“

Die drei algorithmischen Identitäten  von Louisa Clement sind nicht anonym. Sie haben nicht nur dieses abstrakte Allgemeinwissen und geben - auf „unpassende“ Fragen - nicht nur ausweichende Antworten wie Alexa -  sie repräsentieren Louisa:  Sie sehen Louisa sehr ähnlich, und sie beantworten Fragen etwa so, wie Louisa sie vielleicht  beantworten würde.  Und sie beantworten auch sehr persönliche Fragen, die man der realen Louisa vielleicht nicht stellen würde.

Algorithmische Identitäten? Oder besser:  Robotische Klone? Sprechende Louisa-Puppen? Aktive Repräsentantinnen von Louisas Persönlichkeit? Louisas lebendige Sprachassistentinnen? Wie soll man die drei munteren Kunstobjekte,  Ergebnisse von Künstlicher  Intelligenz (KI), Maschinellem Lernen (ML) und Computerlinguistik eigentlich  nennen?  Louisa nennt sie Louisa 1, Louisa 2, Louisa 3. Sie selbst – der reale Mensch Louisa – wäre in dieser Aufzählung Louisa 0. (Die 0 war mathematisch schon immer eine ganz besondere Zahl.)

Louisa 1, 2 und 3 sind Kunstobjekte, aber sie sind auch technische Errungenschaften aus der Welt der KI. Wenn man ein bisschen über die Anfänge von Künstlicher Intelligenz  Bescheid weiß, dann überlegt man sich vielleicht, was Alan Turing sie gefragt hätte, wenn er ihnen begegnet wäre.

Alan Turing, eines der größten mathematischen Genies des letzten Jahrhunderts, hat schon im Jahre 1950, bevor der Begriff der „Künstlichen Intelligenz“ überhaupt in der Welt war, den nach ihm benannten “Turing-Test” konzipiert: Dieses Gedankenexperiment, das auch heute noch gern zitiert und diskutiert wird, zielt darauf ab, einen Maßstab dafür zu etablieren, wie nahe KI sich der menschlichen Intelligenz schon angenähert hat. Demnach hat ein KI-System (ein Roboter, ein Computer, ein Algorithmus) den Test vollständig bestanden, wenn man dem System beliebige Aufgaben oder Fragen stellen  und aus den Lösungen und Antworten nicht geschlossen werden kann, ob man es mit künstlicher oder menschlicher Intelligenz zu tun hat. (Bei der Aufgabe  „16 hoch 64“ würde  aus der schnellen Antwort natürlich sofort klar, dass man es nicht mit einem Menschen zu tun hat. Für derartige Aufgaben ist ja schon ein Taschenrechner dem Menschen weit überlegen.)

In den Medien wird täglich über neue Errungenschaften auf dem Gebiet der KI berichtet. Spätestens seit dem offiziellen Wissenschaftsjahr der KI, 2019,  kümmert sich auch die Forschungs- und die Wirtschaftspolitik mit großer Begeisterung  um das Thema und schwärmt – etwas naiv – von den geradezu unbegrenzten Möglichkeiten  der KI.

In der Tat: Die Anwendungsgebiete von KI sind enorm vielfältig und reichen bereits heute von der Bild-, Gesichts- und Handschrifterkennung über die Sprachverarbeitung und das automatische Übersetzen,  Konzipieren und „kreative“ Schreiben von Texten bis zu automatisierten Diagnoseverfahren in der Medizin, von robotischen Fußballmannschaften über die (noch nicht ganz) autonomen Autos und Fahrassistenten  bis in die Kunst - bis zu Louisa 1, 2, und 3.

Entscheidend für diese Erfolge mit KI in den letzten 30 Jahren ist die enorme Leistungssteigerung von Computern. Heute rechnet bereits ein Smartphone ungefähr so schnell wie der schnellste Computer der Welt vor 30 Jahren – und die Menge verfügbarer Daten wächst weltweit geradezu explosionsartig.

Mit unserem Frage-Antwort-Spiel bei den kommerziellen Sprachassistent:innen sind wir anspruchsvoll geworden, wenn wir sprechenden Robotern begegnen. Ich habe mich mit Louisa 1 bis 3 noch nicht unterhalten können, ich nehme aber an, dass sie ähnlich schlau sind wie Alexa, ich weiß aber nicht, wie weit ich mit meinen Wissensfragen gehen kann. Eigentlich denke ich, dass Louisa 0 immer noch die interessantere Gesprächspartnerin ist. Aber vielleicht stimmt das so allgemein gar nicht, vielleicht würde ich in meinen Dialogen mit Louisa 1,2,3 Dinge erfahren, die mir Louisa 0 gar nicht sagen würde oder die sie in Verlegenheit brächten.  Ich kann Louisa 1, ohne Hemmungen,  zum Beispiel fragen: „Louisa, bist Du verliebt?“, oder ihr noch intimere Fragen stellen. Und Louisa 2 gibt mir auf die gleiche Frage vielleicht eine ganz andere Antwort. Denn die drei Louisas haben nicht (nur) ein statisches Wissen. Sie lernen permanent dazu. Jedes Gespräch, das sie führen, gibt ihnen neue Informationen und so entwickeln sich die drei Louisas als lernende Maschinen (ML) permanent weiter. Es sind nicht nur  KI-Louisas in einem allgemeinen Sinne, es sind auch ML-Louisas in einem engeren Sinn. Die drei individuellen Louisas können ganz  verschiedene Dinge lernen und sich so möglicherweise auseinander entwickeln,  vergleichbar vielleicht mit eineiigen Zwillingen, die in verschiedenen Umgebungen aufwachsen.

Ein paar Worte zum Maschinellen Lernen (ML):  Den Kern von ML bilden sogenannte lernende Algorithmen. „Algorithmen“ – das ist eines der dauernd benutzten, oft missverstandenen und gern als gefährlich verdächtigten digitalen Schlagworte. Tatsächlich sind  Algorithmen der Kern alles Digitalen, sie steuern sämtliche digitalen Prozesse und Geräte und liegen jedem Computerprogramm zugrunde. In ihrer traditionellen Form umfassen sie eine Sequenz von präzisen Anweisungen und bestehen aus endlich vielen genau definierten Einzelschritten. Die lernenden Algorithmen berechnen – anders als herkömmliche, regelbasierte Algorithmen – ein Ergebnis nicht einfach durch Abarbeiten einer Folge von Befehlen. Vielmehr durchlaufen sie zunächst eine Lernphase. Dabei werden interne Zahlenwerte (Parameter) durch das Verarbeiten einer großen, oft riesigen Menge von Beispieldaten so verändert, dass der Algorithmus selbstständig Muster in den Daten erkennt und einübt, neue Merkmale findet und sich seine Funktionsweise und damit auch seine Ergebnisse schrittweise verbessern. Man sagt, das System wird “trainiert”, oder eben auch, der Algorithmus lernt. ML-Systeme haben gelernt, bei anspruchsvollen  Spielen wie Schach oder – höchst beeindruckend - Go die weltbesten menschlichen Gegner zu schlagen,  Spam-Mails  auszusortieren, krankes Gewebe von gesundem zu unterscheiden,  Stimmungen in Gesichtern zu erkennen, im Internet Hass-Mails und Fake News zu identifizieren usw. usw. Dabei müssen ihnen die Muster, die sie erkennen sollen, nicht vorgegeben und erklärt werden. Sie finden sie in vielen Fällen selbst.

Verglichen mit dem menschlichen Lernen ist das maschinelle Lernen trotzdem ein  aufwändiger Prozess: Ein Kind lernt anhand weniger Beispiele, einen Hund von einer Katze und einen Apfel von einer Birne zu unterscheiden. Ein Algorithmus braucht dagegen in der Regel sehr viele, tausende Trainingsbeispiele, bis er ausschlaggebende Merkmale (Muster) erkannt hat und die Unterscheidung mehr oder weniger sicher beherrscht.

Louisa 0 hat sich Tausende von Fragen gestellt und beantwortet. Und Louisa 1, 2 und 3 haben auf der Basis dieser Start-Informationen gelernt, Louisa zu sein.

Aber wenn sich Louisa 1, 2 und 3 in einem algorithmischen Sinn von Louisa gar nicht mehr unterscheiden – wie ist das dann mit dem „hemmungslos Fragen stellen“?  Vielleicht würde ich schon bald zögern, allzu persönliche Fragen zu stellen, weil ich Louisas Vertreterinnen und damit Louisa nicht zu nahe treten möchte. Spätestens an dieser Stelle spüre ich, dass so eine Repräsentantin, eine Maschine, bei mir vielleicht auch Gefühle auslösen kann. Da kommt dann sofort das große Thema „Emotionale KI“ ins Spiel, und es wird ganz schnell kontrovers.

Emotionale KI ist nicht die einzige philosophische, ethische Kontroverse, die diese Ausstellung auslösen wird und auslösen will. Alle Fragen, die in der Geschichte zum Thema menschenähnliche Maschine, künstliche Menschen usw. schon gestellt  und in vielerlei Projekten und Kunstkontexten behandelt worden sind,  kommen wieder hoch, Homunkulus, Frankenstein, Welt am Draht, 2001: Odyssee im Weltraum, Matrix, Her, Klara und die Sonne usw.  Die faszinierenden Science-Fiction-Visionen, die das Thema KI beflügelt,  sind wieder da und zwar nicht als Phantasiegebilde oder theoretische Konstrukte, sondern handfest, körpernah und für jeden erlebbar.

Auch wenn man die drei Louisas vielleicht heute noch eher spielerisch erlebt und nicht als unmittelbare Bedrohung – die  Diskussion über ontologische Identitätsfragen , über rechtliche und ethische Aspekte von KI und über die Frage der Beherrschbarkeit der KI-Entwicklungen ist angesichts der Begegnung mit den Louisas unvermeidlich. Louisa 0 will diese Fragen als Künstlerin stellen. Sie will provozieren.

Die meisten KI/ML-Experten und -Entwickler sind sich heute noch einig, dass die großen Errungenschaften  der KI auf die „schwache KI“ , d. h. auf die Lösung spezieller Einzelprobleme, begrenzt sind und auf absehbare Zeit darauf begrenzt bleiben werden. Es stellt sich aber die Frage, warum diese vielen Spezialbereiche langfristig nicht zusammenwachsen oder zusammengefügt werden können, um sich auf diese Weise schrittweise einer „starken KI“ (einer umfassenden, nicht mehr auf Spezialaufgaben begrenzten KI) zu nähern. Und die Phantasie kommt an Grenzen, wenn man sich vorstellt, dass die ungeheuren Errungenschaften  der Neurologie und der Molekularbiologie (Genschere) in fernerer(?) Zukunft mit den  KI-Entwicklungen der nächsten 50 Jahre kombiniert werden könnten...  Solche Phantasien überlassen wir gern den Transhumanisten.

Zurück zu Louisa 1, 2 und 3. Welche zentralen Fragen stellen uns die drei künstlichen Menschen? Sind es „nur“ die Fragen nach der Identität solcher Systeme? Ganz offensichtlich  verfügen die drei Louisas nicht über Emotionalität und Empathie, aber sie lösen Emotionen bei ihren menschlichen Gesprächspartnern aus, z.B. wenn sie beleidigend agieren. Und darüber hinaus: Repräsentieren die drei Kunstobjekte nicht auch viel mehr? Leisten sie nicht auch einen Beitrag zu den  großen Fragen, die wir uns im Zusammenhang mit den weltweiten  KI-Entwicklungen  stellen müssen?  Es sind zum Beispiel  Fragen nach der Erklärbarkeit und Kontrolle der KI-basierten Entscheidungen. Die drei Louisas treffen keine für uns wichtigen Entscheidungen, aber wir müssen die Fragen beantworten, wie wir die Kontrolle behalten, wenn KI-Algorithmen lebenswichtige Entscheidungen treffen, etwa im juristischen Bereich , in der medizinischen Diagnostik  oder auch „nur“ bei wirtschaftlichen  Vorgängen.

Außer durch die Konfrontation mit der Maschinen- und Algorithmen-Ethik stellen uns die drei Louisas – im Land der Technologieskeptiker - auch die Frage: Wo stehen wir eigentlich (in Deutschland) mit der KI, und wie gehen wir damit um? Und wie machen wir weiter? Spielen wir überhaupt eine Rolle in der internationalen Entwicklung? Gestalten wir mit? Oder laufen wir nur hinterher?

Das  visionäre und gleichermaßen provokative Louisa-Projekt zeigt uns , dass Deutschland - außer durch seine Verbindung aus klassischem Ingenieurwissen, theoretischer Fundierung und hoher KI-Forschungskompetenz –  einen wichtigen künstlerischen Beitrag leisten kann, mit angewandter KI die menschliche Identitätsfrage zu erhellen und die Lebensqualität der Menschen zu bereichern.


Corona-Modellrechnungen und ihre Grenzen

Für die politischen Maßnahmen zur Corona-Eindämmung spielen seit Beginn der Pandemie die Empfehlungen insbesondere der virologischen und epidemiologischen Experten eine wesentliche Rolle. Dabei werden zur Beschreibung und zur Prognose der Ausbreitung der Pandemie oft auch mathematische Modelle benutzt. Die Ergebnisse solcher  Modelle werden von den Modellierern  gern auch in den bekannten TV-Talkshows präsentiert.  Die mit den Modellen errechneten Prognosen haben sich nun aber in vielen Fällen als nicht realistisch erwiesen. Was ist da los? Warum werden die Öffentlichkeit, die Politik und gerade auch die Experten von den tatsächlichen Entwicklungen immer wieder überrascht? Warum gelingt es nicht, zum Beispiel die Inzidenzen  einigermaßen präzise vorauszusagen und damit auch die Maßnahmen vorausschauend zu planen? Nun gibt es einerseits mathematisch  ausgereifte,  höchst anspruchsvolle, andererseits aber auch mathematisch wenig durchdachte  Modelle bis hin zu grob vereinfachenden „Modellen“ und Simulationen. Dass die (bei den Moderatoren der Talkshows besonders beliebten) vereinfachenden Modelle  die realen Verhältnisse  nicht adäquat beschreiben, ist ja vielleicht nicht weiter verwunderlich. Aber auch die anspruchsvollen, mathematisch durchdachten Modelle kommen oft an Grenzen. Warum sind realistische Prognosen offensichtlich so schwierig?

Mathematische Modelle, das sind in der Regel Formelsysteme, die mit intelligenten Algorithmen auf schnellen Rechnern ausgewertet werden. Die gesamte Physik wird von mathematischen Theorien und Modellen beherrscht, und das gilt ähnlich auch für alle anderen Natur- und Ingenieurwissenschaften;  zunehmend werden auch wirtschaftliche und gesellschaftliche, medizinische und psychologische Prozesse mathematisch beschrieben und optimiert.

Warum ist die Mathematik in den naturwissenschaftlich- technischen Bereichen so überaus erfolgreich, bei Corona aber so wenig überzeugend? Die öffentlich diskutierten mathematischen Corona-Modelle und Simulationen können Entwicklungen beschreiben und erklären, aber bei den Prognosen versagen sie in vielen Fällen. Um das verständlich zu machen,  gehen wir auf drei Ansätze mathematischer Modellierung an Hand repräsentative Beispiele etwas genauer ein.

1. Nehmen wir die klassische Physik (und die darauf beruhende Technik). Die meisten Vorgänge der klassischen Physik lassen sich mit mathematischen Gleichungen, in der Regel mit Differentialgleichungen, vollständig erfassen. Ein schönes Beispiel sind die Zustände und Vorgänge der Elektrizität und des Magnetismus. Sie lassen sich mit wenigen mathematischen Gleichungen (in diesem Fall partiellen Differentialgleichungen) sehr hoher Abstraktion beschreiben. Diese „Maxwell-Gleichungen“  bilden das zugehörige mathematische Modell. Die Auswertung dieser Gleichungen mit Hilfe geeigneter Algorithmen erlaubt die Beschreibung, Prognose und Optimierung  der elektrischen und magnetischen Phänomene und Prozesse mit hoher Präzision. Die Maxwell-Gleichungen bilden damit auch die theoretische Grundlage für die  gesamte Elektrotechnik. Hier leistet die Mathematik das Maximum dessen, was man von ihr erwarten kann.  Ähnliches gilt für alle Kernbereiche der klassischen und der modernen Physik und für alle ihre technischen Anwendungen. Der Siegeszug der  Technik in den letzten 250 Jahren und die industrielle Revolution sind ganz wesentlich ein Siegeszug der mathematischen Modellbildung.

2. Die Prognosemöglichkeiten kommen aber an Grenzen, wenn es sich bei den Phänomenen, die mit den mathematischen Modellen beschrieben werden, um chaotische Phänomene handelt. Als chaotisch wird ein physikalisches System oder Phänomen  insbesondere dann bezeichnet, wenn es auf kleine (minimale) Änderungen der Bedingungen in der Ausgangssituation (in den Eingabedaten) mit großen (drastischen) Veränderungen im Verhalten, insbesondere im längerfristigen Verhalten, reagiert.  Dafür gibt es eine Fülle von Beispielen, neben sehr einfachen physikalischen Systemen wie dem Doppelpendel auch hochkomplexe Systeme. Das prominenteste Beispiel eines chaotischen Systems, mit dem wir täglich zu tun haben, ist das Wetter.. Auch wenn die ausgeklügelten mathematischen Wettermodelle, die feinkörnige weltweite Wetterdatenmessung und -erfassung, die höchst effizienten Algorithmen und die atemberaubende Rechengeschwindigkeit der Supercomputer heute eine erstaunlich genaue Wetterprognose für die jeweils nächsten Tage ermöglichen – deutlich über 10 Tage hinaus ist eine sichere Wettervorhersage (außer bei ungewöhnlich stabilen Wetterlagen) praktisch nicht möglich.

Dabei entziehen sich das Wetter und viele andere chaotischen Systeme und Phänomene wie das genannte Doppelpendel, Crashphänomene, turbulente Strömungen, Erdbeben, Vulkanausbrüche usw. nicht grundsätzlich einer mathematischen Modellierung. Denn es  handelt sich bei solchen Erscheinungen  nicht um vollständig zufällige, sondern durchaus um deterministische  Ereignisse, bei denen aber eine sichere und längerfristige Vorhersage – insbesondere wegen der hochsensiblen Abhängigkeit von den Ausgangsdaten - nicht möglich ist.

Auch ohne die Corona-Phänomene vollständig verstanden zu haben, kann man nach Einschätzung des Autors heute davon ausgehen, dass chaotische Elemente bei  der Übertragung  der Viren, der Wirkung auf den menschlichen Körper und  der globalen Ausbreitung der Pandemie durchaus eine Rolle spielen.

3. Die Vorhersagemöglichkeiten sind noch weiter eingeschränkt, wenn man es mit individuellem menschlichem Verhalten und mit menschlichen Entscheidungen in kritischen Situationen zu tun hat, wie bei der Corona-Pandemie. Da sind dann oft nur statistische Erfassungen, Beschreibungen und Aussagen möglich. Aber auch solche Phänomene kann man mit mathematischen Modellen zu beschreiben versuchen. Uns sind in den Medien, insbesondere in den TV-Talkshows (Illner, Maischberger, Will; Lanz usw.) die Ergebnisse solcher Modelle immer wieder präsentiert worden, von meist den gleichen, mittlerweile bundesweit bekannten Modellierern. Detailliertere Informationen über den mathematischen Charakter der Modelle hat man in den Medien dabei kaum erhalten – das verhindern schon die (oft ausdrücklich nicht Mathematik-affinen) Moderatorinnen und Moderatoren. Der Autor hat sich mit den „TV-Modellen“ (Priesemann, Brockmann, … usw.) nicht  intensiv auseinander gesetzt, hält sie aber z.T. für durchaus durchdacht und mathematisch anspruchsvoll. Eine fundierte Bewertung der Modelle ist allerdings auch bei genauer Kenntnis der Modell-Mathematik nicht ganz einfach; letztlich werden die Modelle erst durch die Realität bestätigt (oder widerlegt).

Der Autor hat sich aber mit dem  Modellierungsansatz „On COVID-19 Modelling“  von Robert Schaback im Detail beschäftigt. Das Modell  beschreibt die COVID-19-Epidemie mit einem  (gemäß  Robert Schaback vergleichsweise einfachen) System gewöhnlicher Differentialgleichungen. Aus Sicht des Autors ist das Modell sehr sinnvoll und überzeugend, es orientiert sich eng an den jeweils aktuellen, verfügbaren Daten. Bedauerlicherweise ist das Modell in den Talkshows nie präsentiert worden. Das gilt – nach Kenntnis des Autors –auch  für das  ebenfalls sehr überzeugende Modell des Fraunhofer-Instituts für Techno- und Wirtschaftsmathematik ITWM (Anita Schöbel et al.); dieses Modell  berücksichtigt auch die zeitlichen Verzögerungen zwischen der Corona-Übertragung und dem  Ausbruch der Corona-Symptome.

Alle ernst zu nehmenden Modelliererinnen und Modellierer betonen, dass die Qualität der modellbasierten Vorhersagen sensibel von den jeweils verfügbaren Daten abhängt; deren Verfügbarkeit wird  allerdings durchgängig  als absolut unzureichend bezeichnet:  Generell wird bedauert, dass die Nutzung des im Prinzip vorhandenen Datenmaterials (weltweite und regionale Daten über leichte und schwere Verläufe, in Abhängigkeit vom Alter und den Vorerkrankungen der Betroffenen, Einfluss der Impfungen usw.) für die Einbeziehung in die Modelle  nicht oder kaum möglich war.

Differentialgleichungen modellieren das epidemische  Geschehen eher makroskopisch, also gewissermaßen durch globale Betrachtung der Pandemieausbreitung, vergleichbar mit einer Strömung oder einer Flut. Vom Verhalten der einzelnen Individuen wird dabei abstrahiert.  Daneben werden aber auch fundamental  andere Modellierungsansätze verfolgt. Bei sogenannten „agentenbasierten“ Ansätzen wird z.B. versucht, das Verhalten und die Entscheidungen  der einzelnen Individuen und die Auswirkungen dieser Entscheidungen auf das Gesamtsystem mathematisch zu erfassen. Ob diese Ansätze erfolgversprechender sind als die makroskopischen Ansätze, kann der Autor nicht fundiert beurteilen; er ist eher skeptisch.

Von  Modellierern und Kommentatoren wird gelegentlich argumentiert, dass die politisch veranlassten Lockdown-Maßnahmen und Einschränkungen effektiver gewesen wären, wenn die Politik die Modellprognosen ernster genommen hätte. Das mag im Einzelfall zutreffen. Aber selbst bei  intimer Kenntnis der zugrundeliegenden Mathematik  ist eine objektive Bewertung der unterschiedlichen Modellansätze und Modellprognosen nicht einfach. Die Experten und Modellierer haben sich in vielen Fällen auch nicht einheitlich geäußert, es hat vielmehr – auch in Deutschland – eine problematische Lagerbildung unter den Modellierern gegeben.  Besonders deutlich sind die unterschiedlichen Positionen und fragwürdigen Empfehlungen  der Experten bei den Impfstrategien geworden – mit der Folge einer fatalen Verunsicherung der  Öffentlichkeit.

Schließlich: Dass mathematische Modellierungsmöglichkeiten in Panik- und anderen Extremsituationen und Katastrophen an prinzipielle Grenzen kommen, dafür ist der überaus tragische Verlauf der Loveparade in Duisburg im Jahre 2010 ein erschütterndes Beispiel.


Prozente, Prozente! Oder: Prozente lügen nicht

Prozente? Das kann doch jeder!

  • 10% Rabatt auf 120 Euro sind 12 Euro, also rabattierter Betrag 108 Euro
  • 19% MWSt auf 50 Euro ergeben 59,50 Euro Brutto
  • „Wir schenken Ihnen die Mehrwertsteuer!“ Heißt das 9,50 Euro Abzug vom Kaufpreis – oder 19% Abzug?

Da wird’s schon enger. Wenn etwas x = 59,50 Euro kostet und um 19% reduziert wird, errechnet sich der reduzierte Preis als x – x*0,19 = x*(1-0,19) = x*0,81 = 48,20 Euro. Um auf den ursprünglichen Nettopreis zu kommen, muss man x durch (1+0,19) teilen. Also 59,5/1,19 = 50.

Dieser Unterschied von „rauf“ und „runter“ macht schon  vielen Schwierigkeiten. In der Schule hatte die Prozentrechnung dafür noch gereicht. Es gibt – gerade in Zeiten von Corona – Unmengen von %-Aussagen. Aber was bedeuten sie?

  1. Rauf und runter

Was passiert, wenn wir in Folge abwechselnd 20% auf einen Betrag aufschlagen und dann wieder 20% abziehen? Also, beginnend etwa bei 100 Euro:

  • Plus 20% ergibt 120 Euro
  • Abzüglich 20% ergibt 120 – 24 = 96 Euro
  • Plus 20% ergibt 96 + 20%*96 = 96 + 19,20 = 115,20 Euro
  • Abzüglich 20%, ergibt 92,16 Euro,

Mathematisch gesehen wird bei „Plus“ der aktuelle Betrag mit (1 + 0,2) multipliziert, beim Abzug mit (1 – 0,2). Bei jedem „rauf und runter“ wird also mit (1+0,2)*(1-0,2) = (1-0,04) = 0,96 multipliziert. Das heißt zum einen, 20% rauf und 20% runter ergibt nicht den Ausgangswert, wie man meinen könnte, sondern einen geringeren Wert. Zum anderen: wenn man das wiederholt macht, wird der Wert jedes Mal um den Faktor 0,96 kleiner. Das ist eine exponentielle Folge, die auf Dauer gegen Null geht.

Wenn man sich fragt, wann der Wert sich auf die Hälfte reduziert hat, muss man schon mit Logarithmen arbeiten, oder aber die Folge „simulieren“. Ergebnis: nach 17 Schritten.

  1. Exponentielles Wachstum

Mit Prozenten kann man exponentielles Wachstum, oder dessen Gegenteil, erzeugen. Das ist jedem klar, der mal sein Sparguthaben mit Zinseszins gerechnet hat. Kommen auf einen Betrag von, sagen wir, 100 Euro  -2% Zinsen –  d.h. 2% „Strafzinsen“ -  so ist das Resultat 100 – 0,02*100 = 100*(1-0,02) = 100*0,98. Kommen darauf für einen weiteren Zeitraum ebenfalls 2% Strafzinsen, ergibt das 100*0,98*0,98 = 100*0,98² usw.

Wir haben also exponentielles Wachstum, wenn ein Wert „prozentual“ zunimmt, also mit jedem Zeitschritt K zu K‘ = K*q wird, wobei der Prozentsatz p% in q = 1+p/100 verrechnet wird. Nach t Zeitperioden ist ein Anfangswert K0 auf Kt = K0*q t   gestiegen – oder gefallen, je nachdem ob q > 1 oder q < 1 ist.

Damit haben wir auch eine einfache Erklärung für den Begriff „exponentiell“: Der Wachstumsfaktor für Kt berechnet sich mit t als Exponent.  Bei einem „linearen“ Wachstum hätten wir Kt = K0 + a*t, d.h. t als Faktor der Steigerungsrate (wenn a > 0).

In seinem Blogbeitrag „Exponentielles Wachstum“ (Link) erklärt Ulrich Trottenberg die Bedeutung von Exponentiellem Wachstum im Kontext der Corona Fallzahlen.

  1. Das Prozente-Rauf-und-Runter Spiel

Hier das Rauf-und-Runter als Spiel für zwei Personen (Nullsummenspiel). Zwei Personen X und Y haben je 100 Euro. Sie verabreden folgendes „Spiel“: Ein Zug besteht aus zwei Aktionen

  1. X gibt 20% seines Vermögens an Y
  2. Y gibt 20% seines Vermögens an X

Was passiert? Nach 5 Zügen, nach 10 Zügen? Nach unendlich vielen Zügen? Wer gewinnt und wieviel, in % des Startguthabens?

Hier zunächst die Antworten. Die Begründung findet sich als Anhang am Schluss.

  1. Nach 5 Zügen hat X 109,92 Euro, Y hat 90,08 Euro
  2. Nach 10 Zügen steht es: 110,98 Euro zu 89,02 Euro
  3. Nach unendlich vielen Zügen hat X 111,11 Euro, Y hat 88,89 Euro
  4. X gewinnt
  5. Sein Gewinn ist 11,11 %, der Verlust von Y ist 11,11 %, was klar ist wegen des Nullsummen-Spiels

 

  1. Kleine Zahlen – Große Prozente

Der CDU-Vorstand wählte vor kurzem den CDU Kanzlerkandidaten, in einer Stichwahl zwischen A. Laschet und M. Söder. Die Presse berichtete, dass 77,5 % der Stimmen für Laschet abgegeben wurden. Klingt gut, nach ordentlichen Prozenten. Aber was steckt dahinter?

Tatsächlich bestand der Vorstand aus 46 Mitgliedern, von denen sich 6 enthalten haben und 9 für Söder gestimmt haben. D.h. auf Laschet entfielen 31 Stimmen!

Die 77,5% berücksichtigen nur die Nicht-Enthaltungen. Alternativ wurden 67,4 % errechnet bei Berücksichtigung des gesamten Vorstands. Wir haben hier also zwei Prozentzahlen für das gleiche Ergebnis.

Schlimmer noch: was sollen 77,5% bedeuten, wenn es nur 46 Abstimmende gegeben hat. In Worten wäre eine Bedeutung: „Von je 100 Vorstandsmitgliedern stimmten 77,5 – nein, 67,4 - für Herrn Laschet. Nun gab es aber keine 100 oder mehr Vorstandsmitglieder, sondern nur 46.

Ein Fehler, der sehr häufig gemacht wird, unreflektiert: Kleine Zahlen in Prozente (pro Hundert) umzurechnen. Auch in wissenschaftlichen Arbeiten.

Wenn Sie lesen, dass bei 75% der Probanden ein neues Medikament wirksam war, dann klingt das nach viel. 50% klingt schon nicht mehr so gut. Was, wenn die Wirksamkeitsaussage sich dabei aber auf nur 9 Fälle bezieht?  Bei kleinen Zahlen sind außerdem Zufallsschwankungen üblich. Eine Abweichung um 2 Probanden macht das Ergebnis dann schon zu nur noch 58%. Die %-Zahlen vernebeln hier die Realität.

  1. Große Zahlen – kleine Prozente

Es gibt auch den umgekehrten Effekt.

In den täglichen Corona-Statistiken wird u.a. die Inzidenz angegeben, also die Anzahl Neuinfektionen über die vergangenen 7 Tage je 100.000 Bevölkerung 1). Damit hat man einen guten Vergleichswert, um z.B. die Entwicklung in den verschiedenen Ländern zu vergleichen.

Interessant wären natürlich Feinanalysen, um Bereiche mit besonders hohen oder niedrigen Inzidenzwerten zu erkennen. Die Stadt Köln hat diese Feinanalyse für sämtliche Ortsteile / Veedel veröffentlicht.

Der Bezirk Chorweiler hatte am 26.4. einen Inzidenzwert von 520. Die Ortsteile Hahnwald und Fühlingen 0 und Esch/Auweiler iregndwas zwischen 200 und 300 (Kölner Stadtanzeiger 29.4.2021). Das klingt nach viel für Chorweiler und Esch/Auweiler und wenig für Hahnwald und Fühlingen – weswegen es Chorweiler und Hahnwald auch in die TV-Nachrichten gebracht haben.

Nach Definition des Inzidenzwerts hatten also: Chorweiler 520 Neuinfektion je 100.000 Einwohner, Esch/Auweiler ca. 250, Hahnwald und Fühlingen 0 je 100.000 Einwohner. Allerding, keiner dieser Ortsteile hat nur annähernd 100.000 Einwohner.

Hier eine aktuelle Tabelle mit Zahlen der Stadt Köln mit Daten vom 28.4.2021, die sich insbesondere für die kleinen Ortsteile (Fühlingen, Hahnwald) nach zwei Tagen teilweise drastisch geändert haben:

Ortsteil Einwohner Inzidenz-Zahl
Chorweiler 12.900 543,4
Esch/Auweiler 7.000 168,1
Fühlingen 2.100   47,8
Hahnwald 2.066 145,2
Roggendorf/ Thenhofen 4.500 683,0

 

Die Inzidenzzahlen sollen vergleichbar machen - ok. Bei der Ortsteil-Analyse, oder gar bei Analyse  nach anderen Kriterien (Sozialstatus, Einkommen, Bildungsstand), ergeben sich einige verfälschende Eindrücke oder Scheingenauigkeiten. Ähnlich wie bei den Prozenten der Kanzlerkandidaten-Wahl (bezogen auf 100) ist die Grundgesamtheit hier eine viel kleinere Zahl als die Bezugsgröße 100.000 (Die Inzidenzzahlen sind also Angaben in Tausenstel Prozent oder Milliprozent).

  1. Die Inzidenzzahlen werden oft mit ein, zwei Stellen hinter dem Komma angegeben, was eine Scheingenauigkeit suggeriert.
  2. Hohe Inzidenz auf kleiner Basisgesamtheit suggeriert hohe, teilweise sehr hohe Fallzahlen von Neuinfektionen. Da die Zahl der Basisgesamtheit in der Regel nicht angegeben wird, werden die Inzidenzahlen intuitiv als Maßstab empfunden (Hotspot). Bezogen auf die Einwohnerzahl hat z.B. Roggendorf/Tenhofen mit Inzidenz 683 insgesamt 31 Neuinfektionen über die 7-Tage-Zeitspanne, Chorweiler mit geringerer Inzidenz mehr als das Doppelte (70) an Neuinfektionen, also im Schnitt etwa 10 neue Fälle pro Tag.
  3. Niedrige Inzidenz bei kleinen Basiszahlen kann ebenfalls leicht in die Irre führen. Wenn Hahnwald mit Inzidenz 145 vermerkt ist, bedeutet das 3 neue Fälle in 7 Tagen. Die kleinen Zahlen sind sensibel gegen „Störungen“: Kommt ein Fall hinzu, steigt die Inzidenz auf 210 und Hahnwald wird Hotspot. Fällt ein Fall heraus, sinkt sie auf 97 mit den entsprechenden Konsequenzen. Der Zustand Inzidenz Null ist besonders „instabil“. Eine einzige Neuinfektion treibt den Wert bereits an die 50er-Marke (48,4).
  4. Rangfolge-Darstellungen nach Inzidenzwert suggerieren eine Vergleichbarkeit, die statistisch unsinnig ist, aber immer gerne angewendet wird. Sinnvoller ist eine Rangfolge des Infektionsgeschehens nach Prozent der Bevölkerung. Die Rangfolge ist zwar in beiden Fällen gleich. Für die Prozentzahlen spricht aber, dass Basiszahlen alle deutlich über 100 liegen (aber nie über 100.000), daher ist ein Vergleich unkritisch und aussagekräftiger und die deutlich kleineren %-Zahlen liegen innerhalb des üblichen „normierten“ Wahrnehmungsbereichs von 0 bis 100%.
Ortsteil Einwohner Inzidenz-Zahl Prozent Rang
Chorweiler 12.900 543,4 0,54 % 2
Esch/Auweiler 7.000 168,1 0,19 % 3
Fühlingen 2.100   47,8 0,05 % 5
Hahnwald 2.066 145,2 0,15 % 4
Roggendorf/ Thenhofen 4.500 683,0 0,69 % 1

 

  1. Andere Zahlen, andere Prozente

Die Inzidenzkarte der Stadt Köln zeigt im Drill-Down erfreulicherweise auch die Basiszahlen und mehr für die Ortsteile an, so dass man sich selbst ein Bild „errechnen“ kann.

Üblicherweise werden die Neuinfektionsstatistiken und Inzidenzzahlen aber ohne Bezug zu den entsprechenden täglichen Testzahlen kommuniziert. Stattdessen wird gelegentlich der Verdacht diskutiert (not least by Mr. Trump), dass die „schlechte Entwicklung der Infektionszahlen“ schon durch eine verbesserte Testdichte und Test-Willigkeit zu erklären sei, also ein statistisches Artefakt. Daher wären mitlaufende Zahlen für Test-Anzahl oder Testdichte (Anzahl Tests pro Bevölkerung in %) eine wichtige Information.

In einem Youtube-Video  kritisiert ein Mathematik-Student die Inzidenz-Berechnung als mathematisch falsch. Statt auf 100.000 Bevölkerung müsse man die Inzidenz auf die Anzahl der Tests in einer Bevölkerungsgruppe beziehen. (Der Link wurde inzwischen gelöscht, vermutlich aufgrund kritischer Gegenkommentare. S. z.B. hier.)

Genauer betrachtet, handelt es sich hier jedoch nicht um einen Fehler, sondern lediglich um zwei unterschiedliche Kennzahlen, deren Bedeutung entsprechend differenziert werden muss.

Die Inzidenzzahl bezieht sich auf die Gesamtheit der betrachteten Bevölkerungsgruppe. Als relative Häufigkeit, oder idealisiert als Wahrscheinlichkeit, haben wir hier ein Maß für die apriori-Wahrscheinlichkeit P(+) = Anzahl (+) / Anzahl (Bevölkerung). Die Alternative ist im weitesten Sinne eine Bayes’sche Interpretation der Positiv-Wahrscheinlichkeit, allerdings trivial reduziert zu P(+|Test) = Anzahl (+) / Anzahl (Test), da die positiv Getesteten schlicht eine Teilmenge der Getesteten sind, die wiederum ein Teilmenge der betrachteten Bevölkerung sind.

Wir haben es hier also nicht mit einem Fehler zu tun, sondern mit einer anderen Kenngröße, und man kann darüber diskutieren, welche davon sinnvoller ist. Hier ein Denkansatz dazu:

  • Die „Inzidenz“ bezogen auf die Tests kann a) einen Teil der täglichen Schwankungen erklären und hat b) als Bezugsgröße einen realen Wert statt 100.000, erfüllt damit den Kritikpunkt in 4 besser
  • Die Inzidenz bezogen auf 100.000 einer Bevölkerungsgruppe (auch wenn die real viel kleiner ist) gibt einen Eindruck vom noch möglichen Potenzial an Neuinfektionen und dem Einfluss von Steuerungsmaßnahmen.

Make your choice! I take both.

 

  1. Fälle, Relative Häufigkeiten, Wahrscheinlichkeiten - Prozente, Prozente!

Prozente sind nicht gleich Prozente. Bei der Kanzlerkandidaten-Wahl (s. 3.) entfielen 77,5% der abgegebenen Stimmen auf A.L. Andererseits erhielt A.L. 67,4% der Wahlberechtigten (CDU Präsidium). Zwei unterschiedliche Prozent-Ergebnisse für den gleichen Vorgang. In diesem Fall ist der Unterschied durch die Bezugsgröße (Grundgesamtheit) erklärt und meist geht diese auch in einem sprachlich verfassten Text zur Prozentzahl mit erwähnt.

Allerdings - die sprachliche Ergänzung ist oft nicht eindeutig. Was sind „die abgegebenen Stimmen“, welche Grundgesamtheit bezeichnet dieser Begriff? Zählen die Enthaltungen ebenfalls zu den abgegebenen Stimmen? Gut, wenn man vorher eine Definition gegeben hat.

Aber nicht immer geht das so einfach.

In Zusammenhang mit der Corona-Pandemie werden üblicherweise Todeszahlen „durch oder im Zusammenhang mit Corona“ als Absolutzahlen (Fälle) angegeben. Gelegentlich werden auch Prozentzahlen angegeben, typischerweise nach wissenschaftlichen Festlegungen aus der Epidemiologie. Was ebenfalls zu unterschiedlichen Prozentwerten für das gleiche Geschehen führt. So bekommt man auf die Frage „Wie groß ist (oder war, bis März 2021) die Wahrscheinlichkeit „durch oder im Zusammenhang mit Corona“ zu sterben, unterschiedliche Antworten, selbst bei gleicher Datenlage.

Um das zu illustrieren, gehen wir von folgenden Zahlen aus, die man beim Statistischen Bundesamt bzw. den Meldeämtern beziehen kann:

Rohdaten normiert auf 12 Monate ab 03/20
Population DE N 83.200.000
Gemeldete Todesfälle 2020 gesamt T 982.000
Corona Infektionen gesamt 03/20 – 04/21 (RKI) C 2.754.000
 Corona Todesfälle 03/20 –  04/20 (RKI) D 72.800

Anm.: Die Daten sind auf 12 Monate zurückgerechnet, teilweise ausgehend von Zahlen für 03/20 bis 04/20. Die Symbole N, T, C, D stehen im Folgenden für die Fallzahlen, gelegentlich aber auch als Abkürzung für die Mengen-Bezeichnungen in der linken Spalte.

Die Tabelle zeigt die absoluten Häufigkeiten in „Fällen“. Relative Häufigkeiten werden in Bezug auf eine andere, umfassendere Menge definiert und meist in % angegeben. Die Wahrscheinlichkeit eines Zufalls-Ereignisses wird dagegen in Zahlen von 0,0 bis 1,0 dargestellt – die aber gelegentlich durch Multiplikation mit 100 auch in Prozentangaben umgerechnet wird. Oft wird die Wahrscheinlichkeit eines Ereignisses aus relativen Häufigkeiten empirischen Daten „gesetzt“.

Wenn also gefragt wird: „Wie groß ist die Wahrscheinlichkeit an Corona zu sterben?“ gibt es nach der obigen Tabelle schon mal drei verschiedene Antworten:

  1. Wahrscheinlichkeit ein Corona-Todesfall zu sein: 0,09 %
  2.  Wahrscheinlichkeit als Corona-Patient zu sterben: 2,64 %
  3.  Wahrscheinlichkeit, dass ein Todesfall auf Corona-Erkrankung zurückzuführen ist: 7,41 %

 

Es wird deutlich, dass diese Aussagen sprachlich und in der Bedeutung nur schwer auseinander zu halten und (in den Medien) zu vermitteln sind. Dennoch bedeuten sie Unterschiedliches und haben daher unterschiedliche Werte.

Für Interessierte hier kurz die Erklärung der Ergebnisse. (Die methodische Anmerkung am Schluss erklärt, warum wir hier vereinfachend von Wahrscheinlichkeiten W sprechen.)

Antwort a) ist einfach zu verstehen: W(D) = D/N = 0,0009. D.h.  0,09 % der Bevölkerung sind als Corona-Todesfälle ausgewiesen. Wie sieht es mit b) und c) aus?

Mit der sog. Bayes’schen Betrachtungsweise sind die Unterschiede leicht als sog. „Bedingte Wahrscheinlichkeiten“ zu beschreiben. Das „bedingt“ stellt den Bezug zu einer Menge her, die selbst wiederum Teilmenge der Grundgesamtheit ist. Bei a) ist die „Bezugsmenge“ die Grundgesamtheit selbst, also die Bevölkerung N. Schauen wir mal auf die Teilmengenverhältnisse gemäß deren Bedeutung: T, C, D stehen für Teilmengen der Gesamtbevölkerung. D ist Teilmenge von T und von C, also sind T^D und C^D dasselbe, nämlich D. T und C sind i.a. nicht Teilmengen voneinander. (Das ^ steht für den Mengendurchschnitt).

Antwort b) bedeutet  W(Todesfall, gegeben Corona-Erkrankung) = W(Todesfall und Corona-Erkrankung) / W(Corona-Erkrankung), als Formel: W(T|C) = W(T^C)/W(C).

Setzen wir für die Wahrscheinlichkeiten rechts wieder die relativen Häufigkeiten (in Bezug auf N) ein, dann bekommen wir auf der rechten Seite: (D/N)/(C/N) = D/C = 72.800/2.754.000 = 0,0264 Oder: W(T|C) ist 2,64 % , die Wahrscheinlichkeit zu sterben, wenn man Corona-erkrankt ist.

Antwort c) sagt etwas ganz anderes aus: Die Wahrscheinlichkeit, dass eine Person Corona-erkrankt war, die  gestorben ist. Als bedingte Wahrscheinlichkeit ausgedrückt: W(C|T) = W(C^T)/W(T). Man sieht hier die Änderung der „Bezugsgröße“ im Nenner. Da C^T und T^C die gleiche Schnittmenge bezeichnen, liegt der Unterschied im Nenner, also  W(T), statt W(C) bei b).

Setzen wir für die Wahrscheinlichkeiten rechts wieder die relativen Häufigkeiten (in Bezug auf N) ein, dann bekommen wir auf der rechten Seite: (D/N)/(T/N) = D/T = 72.800/982.000 = 0,0741 Oder: W(C|T) ist 7,41% , die Wahrscheinlichkeit, dass eine Person an Corona erkrankt war, wenn sie gestorben ist.

Die Formulierung mit „wenn“ ist übrigens auch eine gute Möglichkeit zu überprüfen welche Wahrscheinlichkeit man meint: Wahrscheinlichkeit dafür, dass A, wenn B.

Methodische Anmerkung:

Relative Häufigkeiten sind immer in Bezug zu einer Grundmenge zu sehen. So ist nach der obigen Tabelle die relative Häufigkeit der Corona-Todesfälle (D)   D/N = 0,0009 (0,09 %), bezogen auf die Gesamtbevölkerung (N), aber D/C = 0,0264 (2,64 %) bezogen auf die Corona-Erkrankungen.

Mit den entsprechenden Wahrscheinlichkeitsaussagen ist das allerdings so eine Sache. Formal zwar nicht; denn die Grundlagen der W-Rechnung gehen von einer definierten Ergebnismenge (Ergebnisse eines Zufalls-Prozesses) aus, und Wahrscheinlichkeiten sind für Teilmengen davon, „Ereignisse“ genannt, definiert. Der Bezug zur Grundgesamtheit ist also prinzipiell durch die Ergebnismenge implizit vorgegeben, wird aber oft bei Interpretationen „vergessen“.

Wenn man die Formeln für b) und c) in Beziehung setzt:

W(T|C) = W(T^C)/W(C) = W(T^C)*W(T)/(W(C)*W(T)) = W(C|T)*W(T)/W(C)

bekommt man die berühmte Bayes’sche Formel für den Zusammenhang von W(T|C) und deren Umkehrung W(C|T).

 

Anhang: Das Rauf-und-Runter-Spiel

Wir bezeichnen die Guthaben von X bzw. Y nach dem n-ten Zug als xn  und yn. Die Werte nach jeweils der 1. Aktion des n-ten Zuges bezeichnen wir mit x’n und y’n. Das Spiel beginnt mit x0 = y0 = 100 Euro.

Für den n-ten Zug berechnen sich die x- und y-Werte so:

Zug n : Aktion 1

y’n  = yn-1 + 0,2xn-1  und  x’n = xn-1 -  0,2xn-1

Zug n : Aktion 2

                        yn  = y‘n -  0,2y’n  und   xn  = x’n + 0,2y’n

Dieser kleine Algorithmus lässt sich in der Tabellenkalkulation leicht darstellen:

Prozente 20%
x y
n=0 100,00 100,00
n=1 80,00 120,00
104,00 96,00
n=2 83,20 116,80
106,56 93,44
n=3 85,25 114,75
108,20 91,80
n=4 86,56 113,44
109,25 90,75
n=5 87,40 112,60
109,92 90,08
n=6 87,93 112,07
110,35 89,65
n=7 88,28 111,72
110,62 89,38
n=8 88,50 111,50
110,80 89,20
n=9 88,64 111,36
110,91 89,09
n=10 88,73 111,27
110,98 89,02
n unendlich 111,111111 88,8888889

 

Die Werte nach unendlich vielen Zügen ergeben sich, indem man die Iteration „zugweise“ formuliert, also die x‘ und y‘ eliminiert:

Zug n:

yn  = 0,8yn-1 +  0,16xn-1 und   xn  = 0,2yn-1 +  0,84xn-1

Die Konvergenzbedingung - also Werte von x und y, bei denen sich nichts mehr ändert - ist damit einfach das Gleichungssystem

y = 0,8y + 0,16x    und  x = 0,2y + 0,84x

deren Auflösung  für  x = 5/9 * 200 = 111,11 Euro (Gewinner ist X!) und für y = 4/9 *200 = 88,89 Euro ergibt.

 

 


Was macht BitCoin eigentlich zum großen Energiefresser?

Krypto-Währungen und speziell Bitcoin sind inzwischen auch in der seriösen Finanzwelt angekommen und werden mächtig ge-hyped. Selbst große Banken und Unternehmen der Digital-Branche interessieren sich inzwischen für eigene Krypto-Währungen. Gültige Bitcoins entstehen aber nicht durch nationale Zentralbanken sondern „verteilt“. D.h. jeder kann Bitcoins „herstellen“, sofern ein bestimmtes algorithmisches Protokoll dabei beachtet wird.

Eine Anforderung des Bitcoin-Protokolls ist, dass ein sog. „Proof of Work“ nachgewiesen wird; also eigentlich, dass man sich den „Buckel krumm arbeitet“ um ein Bitcoin zu generieren - fast wie beim Gold-Schürfen. Nur müssen hierzu inzwischen riesige Computersysteme ran, um ein „mathematisches Rätsel“ zu lösen, wie es in den Medien oft vereinfachend dargestellt wird. Obwohl das Rätsel an sich mathematisch äußerst simpel ist, ist es mit der Zeit immer schwieriger geworden,  dafür eine Lösung zu finden. Und das erfordert inzwischen enorme Computer-Leistung mit dem entsprechenden Energie-Bedarf.

Worin besteht nun bei Bitcoins das viel zitierte „mathematische Rätsel“, und warum beschäftigt das  inzwischen riesige Computersysteme und verbraucht dabei offenbar Unmengen an Energie?

Das „Rätsel“ – im Bitcoin Kontext Proof of Work genannt - besteht in einer simplen Aufgabe.

Es geht im Prinzip nur darum, eine Zahl zu finden, die unterhalb einer aktuellen Schranke, Target genannt,  liegt. Die Bitcoin-Schranke verändert sich von Zeit zu Zeit nach einem ausgeklügelten Algorithmus, der unter anderem verhindert, dass weltweit zu schnell zu viele Bitcoins generiert werden. (Wer Interesse hat, kann das weiter unten nachlesen.) Wenn die Schranke  z.B. eine Zahl mit 19 Nullen hinter dem Komma ist,  muss der Proof of Work eine Zahl liefern die noch kleiner ist. Klingt einfach, ist es aber nicht! Denn das Finden der Zahl unterliegt einer vorgeschriebenen mathematischen Berechnung und kann nicht einfach „eingegeben“ werden.

Am einfachsten vergleichbar ist das mit einem Zufallszahlengenerator. Der muss so lange neue Zahlen generieren, bis eine davon kleiner als die Schranke ist. Und das kann dauern. Und viele Computer beschäftigen und viel Energie verbrauchen. Zurzeit liegt der Bitcoin-Stromverbrauch etwa zwischen dem von Schweden und der Ukraine (SZ vom 29.4.2021)

In Realität (Bitcoin-Protokoll) werden bei diesen Berechnungen 64-stellige Hexadezimal-Zahlen generiert, die gleichzeitig die Fälschungssicherheit von Transaktionen nach dem Blockchain-Konzept (sog. Block-Hashes) gewährleisten. Bei jeder Berechnung geht auch eine Zufallszahl ein, so dass jedes Mal eine andere Zahl heraus kommt, auch wenn der sonstige Input für die Berechnung gleich bleibt. Die Schranke, mit der das Ergebnis verglichen wird, ist ebenfalls eine Hexadezimal-Zahl, mit vielen Nullen am Anfang der 64 Stellen.

Das war die geniale Idee des bis heute anonym gebliebenen Satoshi Nakamoto, der das Blockchain- und Bitcoin-Konzept 2008 in einem nur 8 Seiten langen Paper veröffentlichte. Daraus stammt das geradezu bescheidene Zitat:

”We define an electronic coin as a chain of digital signatures” (S.N. 2008)

Zu Beginn der Bitcoin-Blockchain, am 03.01.2009, wurde die Schranke auf hex ‘000 000 00 ffff‘  gesetzt. Bis Ende 2009 änderte sie sich nicht. Am 30.12.2009 sank sie auf hex ‘000 000 00 d86a‘, war damit also ein stückweit kleiner geworden. Da war es noch einfach, das „mathematische Rätsel“ zu lösen. Am 12.06.2016 hatte sie bereits 17 vorlaufende Nullen, aktuell sind es 19. Bemerkenswert ist auch, dass dieses "mathematische Rätsel" an sich völlig nutzlos ist, also kein anderes Ziel hat, als hohen Computing-Aufwand zu erfordern.

Inzwischen gibt es eine Vielzahl von anderen Blockchain-Protokollen, die anders als die Bitcoin-Blockchain zur Validierung eines neuen Blocks weniger aufwändige "Proofs" oder Konsens-Verfahren vorschreiben.

In unserem ausführlichen Whitepaper „Yet Another Blockchain Paper“ finden Sie übrigens ausführliche Erklärungen, was eine Blockchain und was insbesondere Krypto-Währungen ausmacht. (Bernhard Thomas, 2016, unter IT-Rebellen.de und eine Aktualisierung 2017 hier auf ISAFA.de. )

 

Ergänzende Vertiefung:

Zum Schluss, wen es interessiert, sei der Algorithmus für die Lösung des „Rätsels“ und für die Anpassung der Schranke kurz erläutert, sowie Beispiele für Schranken aufgeführt.

Der Blockchain „ Mathe-Rätsel“ Wettlauf für Bitcoins:

  • Berechne Hash-Wert von (Hash des letzten Blocks, Neue Transaktionen, Zufallszahl)
  • Prüfe, ob Hash-Wert < Aktueller Schranke
  • Falls nicht: Neuer Versuch mit neuer Zufallszahl
  • Falls ja: Das „Rätsel ist gelöst“, der aktuelle Block ist validiert

Der Wettlauf besteht darin, dass derjenige (Computer), der das aktuelle Rätsel als erstes löst, eine „Belohnung“ in Form von Bitcoins gut geschrieben bekommt. Nur auf diesem Wege „entstehen“ neue Bitcoins. Die Höhe der Belohnung reduziert sich in vordefinierten Zeitabständen.

 

Algorithmus zur Anpassung der Schranke:

Die Schranke (das Target) wird jeweils nach 2016 neuen Blocks angepasst, und zwar so, dass es im Schnitt etwa 10 Minuten dauert, bis weltweit ein neuer Block validiert ist (s. Mathe-Rätsel Wettlauf). Das reguliert automatisch die „Ausgaberate“ neuer Bitcoins, anders als bei Zentralbanken, die ihr Geld beliebig „drucken“ können.

Aus dem Satoshi Nakamoto Paper:

“To compensate for increasing hardware speed and varying interest in running nodes over time, the proof-of-work difficulty is determined by a moving average targeting an average number of blocks per hour. If they’re generated too fast, the difficulty increases.”

(Die Difficulty oder Schwierigkeit ist eine Art von Kehrwert der Schranke.)

 

Schranken

Um einen Eindruck für die Entwicklung der Schranke (Target) zu geben, hier die Werte für einige Zeitpunkte. Man beachte die Entwicklung der Anzahl vorlaufender Nullen.

03 Jan 2009, 18:15:05 00000000ffff0000000000000000000000000000000000000000000000000000
18 Dec 2009, 09:56:01 00000000ffff0000000000000000000000000000000000000000000000000000
30 Dec 2009, 06:11:04 00000000d86a0000000000000000000000000000000000000000000000000000
08 Jun 2016, 03:41:58 0000000000000000059ba0000000000000000000000000000000000000000000
01 May 2021, 21:27:02 0000000000000000000da8630000000000000000000000000000000000000000

(Aus https://learnmeabitcoin.com/technical/target)

 

Ergänzendes Informationsmaterial auf dieser Web-Seite

Neben dem ausführlichen Whitepaper gibt es auf dieser Webseite zwei einführende Präsentationen zum Thema Blockchain. Eine mit Blick auf Business Development Möglichkeiten durch Blockchain: Blockchain Technology (CommaSoft). Eine zweite mit etwas mehr technischer Tiefe: Blockchain Technology (Pallas).

 

 


Six not so easy pieces for AI

In einer Artikelserie für die weit verbreitete Zeitungsbeilage PRISMA hatte Ulrich vor einiger Zeit schon versucht, KI und die Konsequenzen allgemein verständlich darzustellen. Die Serie beginnt mit dem Beitrag "Künstliche Intelligenz I: Von Menschen für Menschen geschaffen".

Die Frage, worin die Intelligenz von KI-Systemen besteht, ob KI-Systeme selbstständige Intelligenz entwickeln können, oder man ihnen intellektuelle Fähigkeiten zusprechen kann, wird zurzeit heftiger denn je diskutiert – nicht nur in Kreisen der „Techniker“ sondern auch in den Gesellschafts- und Cognitiv-Wissenschaften.

Beginnen wir mit einigen aktuellen  Zitaten zu Intelligenz und Künstlicher Intelligenz –  drei plausible aus Millionen von möglichen Zitaten.


„Allgemeine Künstliche Intelligenz: AKI – ein System, das alle intellektuellen Fähigkeiten eines Menschen in sich vereint.“ ([KI, S. 39]

„Wenn Maschinen oder Computer kognitive oder geistige Fähigkeiten zeigen, die denen des Menschen ähneln, so nennt man das Künstliche Intelligenz. Bei diesen Fähigkeiten kann es sich z.B. um Lernen aus Erfahrung handeln oder um die Lösung von Problemen.“ [KI]

In einem Fernseh-Interview [MG] definiert Markus Gabriel erstmalig "Intelligenz" als die Fähigkeit, für ein Problem eine Lösung zu finden. Er ergänzt: das setzt voraus dass man überhaupt ein Problem hat (oder erkennt). Und zu KI, recht restriktiv: in der KI sind es die Menschen, die die Probleme definieren, nicht die KI-Systeme / Algorithmen. Folglich sind KI-Systeme - trotz des "I" im Namen - nicht intelligent.


Es geht offenbar nicht nur darum, eine Aufgabe zu bewältigen, sondern um die Fähigkeit der Lösungsfindung.

Die intellektuelle „Intelligenz“ eines KI Systems besteht  nicht (so sehr) in der Fähigkeit ein Problem zu lösen, sondern in der Fähigkeit, Lösungen für ein Problem zu finden. Das bedeutet im konkreten Fall, die Fähigkeit, die Lösung einer Aufgabe zu erlernen  – weniger, sie nur auf eine Aufgabe anzuwenden. Ein Algorithmus, der z.B. den größten gemeinsamen Teiler (ggT)  von zwei Zahlen bestimmt, löst diese Aufgabe. Er kann das. Ein Algorithmus, der lernt, wie der ggT. von zwei Zahlen bestimmt wird, hat eine ganz andere „intellektuelle“ Aufgabe. Menschenskinder lernen das spätestens als Schüler früher oder später.

Offenbar ist Erfahrung eine wesentliche Voraussetzung für die Lösungsfindung. Erfahrung kann vermittelt werden, durch Lehrer:innen, durch Beispiele (Daten) oder durch eigene, wiederholte Beobachtungen entstehen.

Sofern das System, das lernt, ein menschliches Artefakt ist (Programm, Computer, Robot) spricht man von Machine Learning -  für Lebewesen verwendet man eher den Begriff „Animal Learning and Cognition“, aber das ist ein anderes Thema.

Ohne Zweifel ist heute die Leistungsfähigkeit spezieller KI Methoden, insbesondere des Maschinellen Lernens (ML), spezialisiert für bestimmte Aufgaben der Erkennung, Analyse und Klassifizierung den vergleichbaren menschlichen Fähigkeiten weit überlegen, dank der Fortschritte in der Computer- und Algorithmen-Entwicklung. Aber das haben Technologie-Fortschritte so an sich. Einen schon atemberaubenden Einblick in die Hochleistungssysteme und algorithmischen Techniken von ML Verfahren, insbesondere mit Tiefen Neuronalen Netzen, findet man in dem kürzlich erschienen Buch [KI].

Die Lernfähigkeit als (quasi-)intellektuelle Fähigkeit künstlicher Systeme zeichnet also Systeme aus, die sich vom Zustand des Nicht-Lösen-Könnens in den des Lösen-Könnens entwickeln können. Klingt kompliziert, ist es auch – wie soll das gehen? In der KI Praxis hat man dafür, dank der enormen Rechenleistung von Spezial-Computern und der Intelligenz von ML-Wissenschaftlern, Verfahren entwickelt und verfeinert, die diese Lernfähigkeit in Form von hochdimensionalen Parameter-Anpassungen gewinnen.

Das heißt aber auch, dass hier nicht ein „KI-System“ diese Lernfähigkeit entwickelt, sondern dass diese zunächst einmal durch enorme menschliche intellektuelle Leistungen – von Mathematikern, Informatikern, SW-Ingenieuren usw. – in Algorithmen oder technischen Systemen vorbereitet wird.

Man kann zwar  „höhere“ KI-Systeme mit ML-Methoden ausstatten, die sich die algorithmischen Komponenten nach bestimmten Zielvorgaben selbst zusammenstellen, etwa der, das Lernen für eine bestimmte Problemklasse zu optimieren oder Erklärungen für bestimmte Ergebnisse zu liefern. Insofern kann man davon sprechen, dass sich die sogenannte Schwache KI (z.B. Machine Learning, Robot-Steuerung) durch Vielseitigkeit und Lernleistung in Richtung Starker KI (intellektuelle Leistungen) entwickelt. Aber auch das beruht primär auf menschlicher Intelligenz, sowohl was die Meta-Problemstellung betrifft als auch die algorithmischen Verfahren.  Das KI-System kann dabei das Ausprobieren verschiedener Strukturen und Anpassen von sog. Hyperparametern automatisieren.

(Anmerkung: Das sieht nach einem „infiniten Regress“ Problem für die Allgemeine Künstliche Intelligenz aus. Was fehlt, ist ein Prinzip der Entwicklung. Etwa ein Evolutionsprinzip (Genetische Variation, Selektion), das ja offensichtlich erfolgreich zu Animal Learning and Cognition und insbesondere zur  menschlichen Intelligenz als Maß aller Dinge geführt hat.)

In der Blog-Serie „Sechs nicht so einfache Aufgaben für KI“  haben wir der KI ein paar einfachste, anspruchslose Aufgaben vorgelegt, die jedes Kind zu bewältigen lernt. Sie sind der Verstehbarkeit halber aus der Mathematik gewählt. Also etwa das Zählen, oder gerade und ungerade Zahlen zu unterscheiden. Wir wollten daran sehen, wie es um die Lernfähigkeit bestellt ist, was man als Entwickler dazu beitragen muss, welche Qualitäten des Lernens man dabei entdecken kann und, was KI daraus lernen kann, wie Kinder diese Aufgaben – vermutlich – zu lösen lernen.

Die Blog-Serie ist auf Medium für Beck et al. GmbH, München, auf Deutsch veröffentlicht. Den Einstieg findet man in dem kurzen Einführungsblog: Sechs nicht so einfache Aufgaben für KI, oder über die Webseite von https://becketal.com unter #our_blog. Im Laufe der Zeit (2019) war die Serie ordentlich angewachsen, weshalb der Einführungsblog-Beitrag am Ende auch ein Verzeichnis aller Beiträge der Serie enthält, in der empfohlenen Lesereihenfolge und direkt bzw. untereinander verlinkt.

Noch ein Hinweis: Die Beiträge sind in Form so genannter Jupyter Notebooks (für Python) entstanden. D.h. der erzählende Text wird unterstützt durch kurze Python-basierte Code-Blöcke (unter Verwendung einschlägiger Packages wie keras / Tensorflow für Neuronale-Netze-Modelle). Mit denen können die beschriebenen Ideen bei Interesse nachgebildet werden.

Zum Abschluss noch ein älteres Zitat, nicht weniger bedeutend als die aktuellen:


"I propose to consider the question, "'Can machines think?' This should begin with definitions of the meaning of the terms 'machine' and 'think'. The definition might be framed so as to reflect so far as possible the normal use of the words, but this attitude is dangerous..." [AT]


[KI] G. Paaß, D. Hecker: Künstliche Intelligenz Springer 2021

[MG] Markus Gabriel: Sendung aspekte vom 12.3.2021

[AT] Alan Turing: Computing Machinery and Intelligence, Oxford University Press, 1950

 


Q16 Quanten und Qubits - Was man so liest

Von Bernhard Thomas und Ulrich Trottenberg

Quanten-Computing wird in den Medien, aber auch in Vorträgen und in der Fachliteratur mit einer Reihe von Aussagen charakterisiert, die als Sprachkonstrukte ziemlich exotisch klingen - nach einer anderen Welt, in der logisch Unmögliches möglich scheint. Wir wollen uns einige dieser Sprachfiguren ansehen und überlegen, was dahinter steckt.

Unsere bisherigen Blog-Abschnitte über Qubit-Algorithmen sollten ausreichen, hier ein klares Verständnis zu schaffen. Hier die Übersicht über die Aussagen.

"Quanten können 0 und 1 gleichzeitig sein"

"Mit n Qubits kann man 2**n Zahlen gleichzeitig darstellen"

"Für N Zahlen benötigt ein Quanten-Computer nur log(N) Qubits"

"Ein Quanten-Computer kann mehrere Berechnungen gleichzeitig durchführen (Quanten-Parallelismus)"

"Was auf herkömmlichen Rechner Jahre dauert, kann ein Quanten-Rechner in Sekunden erledigen (Exponentielle Beschleunigung)"

"Quanten-Rechner werden herkömmlichen Rechnern überlegen sein (Quanten-Supremacy)"

"Jedes zusätzlich Qubit verdoppelt die Leistungsfähigkeit des Systems"

 

"Quanten können 0 und 1 gleichzeitig sein"

Dieser Satz und Abwandlungen davon ziehen sich durch die Quanten-Computing-Literatur wie ein Mantra des QC. Auch wenn er gelegentlich nur als Metapher gesehen wird, suggeriert dieser Satz in der öffentlichen Diskussion eine mystische Eigenschaft der Quanten, nicht zuletzt illustriert durch das Bild von Schrödingers Katze, die "gleichzeitig tot und lebendig" ist.

Damit werden auch die informatischen Gegenstücke der Bits, die Qubits, charakterisiert. Im Gegensatz zu Bits, die nur "0 oder 1" sein können, können Qubits "0 und 1 gleichzeitig" sein.

Wie könnten wir das feststellen? Wir wissen, dass die Messung eines Qubits entweder 0 oder 1 ergeben kann, aber nicht beides. Wenn wir mehrfach messen, bekommen wir manchmal eine 0, manchmal eine 1 als Ergebnis, aber nie "gleichzeitig". Was kann also gemeint sein - wenn es überhaupt einen Sinn ergibt.

Es gibt Varianten dieser "Gleichzeitig"-Sprachfigur, die etwas tiefergehend klingen: "Quanten können verschiedene Zustände gleichzeitig einnehmen". Wir wissen, dass man Zustände von Systemen in Form von mathematisch eindeutigen Ausdrücken beschreiben kann - so auch Qubits und Qubit-Systeme. Ausgehend von einem Anfangszustand sahen wir, wie mittels Qubit-Operationen (oder Gates) ein Qubit-Zustand in einen nächsten überführt werden kann. Zu jedem Zeitpunkt ist der Zustand des Qubits daher eindeutig festgelegt. Wenn wir nicht unsere normale zweiwertige Logik (2 Wahrheitswerte: wahr, falsch - oder 0, 1) in Frage stellen, kann ein Qubit nicht zwei verschiedene Zustände gleichzeitig haben. Eine Zahl, ein mathematischer Ausdruck, der einben Zustand beschreibt, kann nicht gleichzeitig 0 und 1 sein: z = 0 = 1?

Manchmal findet man Texte, in denen das "Gleichzeitige" durch die "Superpostion" ergänzt wird: "Quanten können in einer Superosition von 0 und 1 gleichzeitig sein". Wir wissen, was eine Superpostion ist. Z.B. ist 1/√2 (|0>+|1>), die Hadamard-Operation auf den Basiszustand |0>, eine Superpostion (oder mathematisch: Linearkombination) der Qubit-Zustände |0> und |1>. Wir haben Qubit-Zustände meist in Form von x-y-Koordinaten eines Punktes auf dem Einheitskreis beschrieben - im Beispiel also (1/√2,1/√2). Somit können wir korrekt formulieren: Ein Qubitzustand hat zwei Koordinaten. Aber was heißt dann "gleichzeitig"? Wenn jemand in Ingolstadt ist, befindet er sich z.B. auf der Strecke von München nach Nürnberg - aber ist er (möglicherweise) in München und Nürnberg "gleichzeitig"?

Wenn auch die Redewendung "... kann 0 und 1 gleichzeitig sein" etwas Unsinniges suggeriert, können wir sie als solche akzeptieren, wenn man sie auf die Möglichkeit einer Superposition von zwei (Basis-)Zuständen eines Qubits zurückführt. Darin unterscheiden sich Qubits und Bits tatsächlich.

Und während ein Bit nur einen der beiden Zustände 0 oder 1 repräsentieren kann (siehe BIT-Box in Q3), kann ein Qubit einen Zustand aus einer unendlichen Menge von Superpositionszuständen annehmen. Wobei wir das "unendlich" im Sinne aller Punkte auf dem Einheitskreis verstehen, ohne zu fragen, ob wirklich unendlich viele Superpositionen realisierbar sind (technisch und quantenmechanisch).

Eine elegante und gleichzeitig korrekte, einfache Erklärung finden wir im Glossar der IBM (Übersetzung DeepL):

Ein Qubit (ausgesprochen "kju-bit" und kurz für Quantenbit) ist der physikalische Träger der Quanteninformation. Es ist die Quantenversion eines Bits, und sein Quantenzustand kann Werte von |0> , |1> oder die Linearkombination von beiden annehmen, was ein Phänomen ist, das als Superposition bekannt ist.

Mehr ist eigentlich nicht zu sagen.

"Mit n Qubits kann man 2**n Zahlen gleichzeitig darstellen"

Mit n Bits kann man zwar auch 2**n verschiedene Zahlen darstellen - gemeint sind Binärzahlen in Form von Bitketten - aber immer nur eine zu einem Zeitpunkt, z.B. im Speicher eines klassischen Computers.

Diese Aussage zusammen mit dem "Quantenparallelismus" (s.u.) soll die überragende Leistungsfähigkeit von Quanten-Computern deutlich machen. Man liest auch: "Mit jedem weiteren Qubit verdoppelt sich die Kapazität" und "Schon 300 Qubits können mehr Werte speichern, als das bekannte Universum Teilchen enthält".

Nun ja, wie soll man das verstehen? Zunächst zu den beiden letzten Versionen des "Kapazitätssatzes": Auch mit jedem weiteren Bit verdoppeln sich die möglichen Werte, die man speichern - und wieder lesen - kann. Immer einer zu einer Zeit (Schreib-Lese-Zyklus). Und mit 300 Bits kann man mehr als alle Teilchen des bekannten Universums abzählen, oder je eine Zahl zu einem Zeitpunkt im Bereich 0 bis 2**300-1 speichern. Bei Qubits liegt das Geheimnis offenbar wieder im "gleichzeitig". Wieder nur eine Metapher?

Ein System von n Qubits, z.B. n=3, befindet sich zu einem Zeitpunkt in einem Zustand (von prinzipiell unendlich vielen), der eine Linearkombination (Superposition) von nunmehr 2**n Basiszuständen ist, also 8 bei n=3. In der ket-Schreibweise tritt jede n-lange Bitkette als ein Basiszustand auf, bei n=3 also |000>, |001>, |010>, |011>, |100>, |101>, |110>, |111>. Bei n = 300 sind es halt ......

Denken wir an Koordinatensysteme, wie z.B. in Q11, dann haben wir ein 8-dimensionales Koordinatensystem und jeder 3-Qubit-Zustand  wird durch 8 Koordinaten beschrieben. "Gleichzeitig" - für einen Punkt braucht man 8 Koordinaten "gleichzeitig".

Kann man in einer Superposition von 2**n Basiszuständen das gleichzeitige Speichern von 2**n Zahlen sehen? Nehmen wir eine gleichmäßige (uniforme) Superposition, d.h. alle Basiszustände kommen mit dem gleichen Koeffizienten vor. Bei n=3 also mit 1/√8.

Speichern nützt nur dann etwas, wenn man  mit dem Gespeicherten etwas anfangen kann, z.B. weiter verarbeiten mittels Qubit-Operationen oder Lesen, d.h. Messen. Beim Weiterverabeiten zu einem neuen Zustand können tatsächlich alle Komponenten der Linearkombination in einer Operation berücksichtigt werden (Quantenparallelismus, s.u.). Beim Messen (gegen die Basiszustände) erhält man eine Häufigkeitsverteilung über alle Bitketten, die als Basiszustände in der aktuellen Superposition vertreten sind. Sind einige nicht vertreten, tauschen sie, bis auf Quantenfehler, auch nicht im Messergebnis auf.

Aber was machen wir damit? Welche Information ziehen wir daraus? Dass 2**n Bitketten beim Messen auftreten können, wussten wir schon vorher. Wir "lesen" also nichts Neues. Wenn wir 2**300 Teilchen mit unterschiedlichen Bitketten versehen wollten, konnten wir das auch schon ohne Quanten-Computer (QC).

Wo liegt also die Information, die wir durch die Quanten-Berechnung gewonnen haben? Wohl in der gemessenen Häufigkeitsverteilung:

  1. Wir schauen nur auf "vorhanden" und "nicht vorhanden" von gemessenen Bitketten. Eine häufige Form der Interpretation von QC-Ergebnissen, z.B. beim Herausfinden eines Orakels, wie im Bernstein-Vazirani Problem oder dem von Deutsch-Josza. Man kann sich das so vorstellen: Der Qubit-Algorithmus "rechnet" mit den 2**n Basiszuständen des n-Qubit Systems, der Ergebnis-Zustand enthält aber in nur einen Basiszustand, der dann bei der Messung eine ziemlich eindeutige Bitkette liefert. Eine solche Methode ist auch die sogenannte Amplituden-Verstärkung (amplitude amplification). Zum Auffinden einer bestimmten Bitkette beginnt man mit einer uniformen Superposition und verändert diesen Zustand Schritt für Schritt so, dass die Amplitude des Basiszustands mit der gesuchten Bitkette zunehmend "größer" wird. Die Iteration wird beendet, wenn man nahe genug an der gesuchten Bitkette ist, d.h. wenn beim Messen diese Bitkette eine überragende Wahrscheinlichkeit erreicht. Das Verfahren wird auch Grover-Iteration genannt.
  2.  Uns interessiert ein "numerisches" Ergebnis, z.B. eine Zahl oder eine Reihe von Zahlen (Vektor), die sich bei der Messung am Ende der Rechnung als Häufigkeiten bestimmter Bitketten ergeben. Als "numerisches" Ergebnis nimmt man dann die Liste dieser Häufigkeiten. Hier stoßen wir aber auf verschiedene Probleme. Eines davon ist, dass ein echter QC die Häufigkeiten nicht exakt misst. Um halbwegs brauchbare Werte abzuleiten, müssen wir das QC Programm wiederholt durchlaufen lassen. Wie oft? Für n=3 kann man das ja einmal ausprobieren mit dem IBM QC. Wie oft bei n=50 oder n=300?

"Für N Zahlen benötigt ein Quanten-Computer nur log(N) Qubits"

Dies ist eine Variante der vorigen Aussage und besagt: "Während man auf herkömmlichen Computern für N Zahlen auch N Speicherplätze benötigt, braucht ein Quanten-Computer nur log(N) Qubits". Man hat also, umgekehrt gesehen, einen exponentiellen Effekt. Und damit ist ein Quanten-Computer exponentiell leistungsfähiger als ein herkömmlicher. Wie auch immer das gemeint ist, es läuft darauf hinaus, dass man eine Überlagerung der N Basiszustände eines "log(N) großen"  Qubit-Systems herstellt, bei der die Koeffizienten (auch Amplituden genannt) gerade die gewünschten N Zahlen sind. Wenn man also weiß, wie, kann man einen solchen Superpositionszustand als "Input" herstellen, und einen Qubit-Algorithmus damit weiterrechnen lassen. Das ist das sog. Amplituden-Verfahren oder auch Amplituden Encoding.

Aber halt! Die N Amplituden müssen ja in der Summe der Quadrate 1 ergeben. Schränkt das nicht die freie Wählbarkeit der N Zahlen ein? Nicht wirklich - man muss nur vorher jede Zahl durch die Summe aller Quadrate teilen, genauer, durch die Quadratwurzel dieser Summe. Damit kann man dann "Quanten-Rechnen". Allerdings tritt bei der Ergebnis-Festellung wieder das Problem aus 2. auf.

Um die N Zahlen als Input verwenden zu können, muss man zu Beginn des Qubit-Algorithmus geeignete Qubit-Operationen (Gates) ausführen, so dass sie in einer Superposition zu Koeffizienten von Basiszuständen werden. Das kann trotz "Quantenparallelität" aufwendig sein. Hier ein Beispiel:

Angenommen, wir wollen die 4 Zahlen 1.0, 1.0, √2 = 1.414, 2.0 als Input in Form von Amplituden für ein 2-Qubit-System bereitstellen (N=4, n=2). Die Summe der Quandrate ist 1.0+1.0+2.0+4.0 = 8.0.  Die Wurzel daraus ist √8. Dadurch müssen wir die 4 Zahlen teilen, damit diese eine gültige 2-Qubit Superposition ermöglichen: 1/√8, 1/√8, 1/√4, 1/√2. Es ist damit z.B. der Zustand 1/√8 |00> + 1/√8 |01> + 1/√4 |10> + 1/√2 |11> durch einen Qubit-Circuit herstellbar. Wie geht das? Hier ist eine Lösung:

Codieren der 4 Zahlen mittels 2 Qubits
Amplituden der Superposition: 0.354, 0.354, 0.5, 0.707
Messergebnisse: Häufigkeiten1/8, 1/8, 1/4, 1/2 (idealisiert)

Das "Fine-Tuning" der Amplituden erfolgt hier mittels Drehungen (Ry). Der resultierende Zustand ist verschränkt, d.h. er kann nicht als Kombination der einzelnen Qubits hergestellt werden. Das kann man nach der Methode in Q9 nachprüfen. (Ergebnis eines Simulatorlaufs mit 1024 shots.)

"Ein Quanten-Computer kann mehrere Berechnungen gleichzeitig durchführen"

Diese Aussage wird häufig als Verdeutlichung des sog. Quanten-Parallelismus verwendet. Auch hier wird wieder das Mantra-Wort "gleichzeitig" verwendet, dieses Mal aber in einer sinnvollen Bedeutung, nämlich im Gegensatz zu "nacheinander" (sequentiell). Natürlich können auch herkömmliche Computer heutzutage mehrere Berechnungen zeitlich parallel ausführen. Der Unterschied ist aber technisch fundamental: Herkömmliche Parallelrechner (z.B. MIMD-Architekturen) führen mehrere, durchaus auch verschiedene, Computerbefehle (Instructions) zur gleichen Zeit aus und verwenden dabei u.U. unterschiedliche Daten als Input.

Quanten-Computer führen zu einem Zeitpunkt einen Befehl (in Form von Gates) auf einer Datenstruktur aus. Die Datenstruktur ist der aktuelle Zustand eines n-Qubit-Systems, also meist eine Superposition oder gar eine Verschränkung. Der Zustand eines n-Qubit-Systems kann aber, wie wir zuvor gesehen haben, bis zu N=2**n Zahlen (in Form von Amplituden) repräsentieren. Indem der Qubit-Befehl auf den Zustand wirkt, wirkt er simultan auf alle Basiszustände, die in der Superposition vorkommen. Als Ergebnis können sich damit simultan alle Amplituden der Basiszustände verändern. Bingo!

Mathematisch gesehen ist das überhaupt nichts Ungewöhnliches. Eine Matrix A "wirkt" bei Multiplikation mit einem Vektor x auf alle seine Komponenten "gleichzeitig": y= Ax (Lineare Algebra). Wird ein Punkt (x,y) mittels einer Funktion F verschoben, dann werden alle Koordinaten "gleichzeitig" verschoben: (u,v) = F(x.y). Und auch die Qubit-Operatoren (Gates) können mathematisch als Matrizen dargestellt und verwendet werden. Wenn es allerdings ans praktische Rechnen geht, etwa mit einem Algorithmus, der die Matrixmultiplikation explizit durchführt, dann geht es klassisch (auf einem herkömmlichen Rechner) wieder nur Schritt für Schritt: die Operation wird in viele Einzelschritte zerlegt, die nacheinander ausgeführt werden. Hier unterscheiden sich klassische und Quanten-Computer tatsächlich fundamental. Quanten-Computer, wie die von IBM, sind technisch so aufgebaut, dass sie eine komplette Superposition in einem, statt in vielen Schritten verarbeiten können.

Wie man sich das vorstellen kann, zeigen wir an einem einfachen Beispiel: Das exklusive Oder (XOR) von zwei Bits entspricht der einfachen Bit-Addition bis auf die Operation "1+1", die 0 ergibt  statt 2. (Dafür verwendet man auch das Symbol ⊕ statt +). Wir können die Bit-weise XOR-Berechnung auch als Qubit-Circuit durchführen. Das ergibt die 4 Auswertungen in der Abbildung, wobei jeweils q0 und q1 auf Zustand 0 bzw. 1 gesetzt werden und das Ergebnis den neuen Zustand von q1 ergibt.

Abb.: Vier Berechnungen von XOR als Qubit-Algorithmus

Quanten-Parallelismus ermöglicht aber Superpositionen statt einzelner Basiszustände als Input zu präparieren, typischerweise mit dem H-Gate (Hadamard-Gate). Damit muss die Berechnung nur einmal ausgeführt werden und wir erhalten alle 4 Ergebnisse auf einmal.

 

Abb.: XOR Berechnungen mit Quanten-Parallelismus

Um die Ergebnisse einfacher "lesen" zu können, haben wir hier das XOR Ergebnis  auf ein drittes Qubit q2 übertragen. So erhalten wir als Messergebnis genau die obige XOR Tabelle mit XOR -> q2 : 000, 101, 110, 011 (q2 steht hier wieder jeweils ganz links in der Bitkette).

 

"Was auf herkömmlichen Rechnern Jahre dauert, kann ein Quanten-Rechner in Sekunden erledigen"

Als Begründung liest man dabei oft, dass Quantenrechner "exponentiell schneller" rechnen können als herkommliche. Was bedeutet das?

Das heißt zum Beispiel folgendes: Wenn wenn wir zwei Methoden haben, die eine Aufgabe lösen, etwa eine Berechnung durchführen oder ein "Geheimnis" (Q15) zu finden, und die eine Methode benötigt N Zeiteinheiten oder Rechenschritte, die andere aber nur log(N) viele, dann stellt die zweite Methode eine exponentielle Verbesserung - oder Beschleunigung - gegenüber der ersten dar. (Denn, für k=log(N) ist  N=exp(k).)

Es gibt eine ganze Reihe von solchen "Beschleunigungsbeziehungen" zwischen Methoden zur Lösung gleicher Aufgaben. Der Grover Qubit-Algorithmus benötigt nur etwa √N Schritte gegenüber N Schritten bei der klassischen Methode. Hier haben wir also eine quadratische Beschleunigung. In Q15 hatten wir das am Beispiel des Bernstein-Vazirani-Algorithmus diskutiert.

Solche Beschleunigungen gibt es von je her auch im klassischen Computing als Effekt einer algorithmischen Verbesserung. So gibt es z.B. unterschiedliche Sortier-Algorithmen, die sich bezüglich ihres Rechenaufwands erheblich unterscheiden, oder auch Verfahren zur numerischen Simulation, bei denen sogenannte Mehrgitterverfahren große Beschleunigungsraten bringen.

Der tatsächliche Beschleunigungseffekt des Quanten-Computing gegenüber herkömmlichen Bit-Computing beruht auf einer Kombination von zwei Dingen: dem Quanten-Parallelismus der Hardware (s. voriger Abschnitt) und dem Algorithmus, der für Qubits konstruiert werden kann.

Ein Rechenbeispiel: Hätte man eine (hypothetische) Aufgabe, die auf einem gewöhnlichen Rechner mit dem schnellsten Algorithmus 10 Jahre dauern würde, dann würde eine exponentielle Beschleunigung auf einen Zeitaufwand von rund 20 Sekunden führen: log(10*360*24*60*60) = log(311040000) = 19,56. Diese Zahlen sind allerdings eher fiktiv, da wie keine konkrete Aufgabe vor Augen haben und Wiederholungen und anderen "Overhead" nicht berücksichtigen. Aber es zeigt, wie sich die Größenordnung ändern.

Hätten wir also eine Aufgabe, die herkömmlich Jahre dauern würde, und hätten wir dazu ein Quanten-Computer, der sie alternativ mit exponentieller Beschleunigung löst, könnten wir die Aussage so akzeptieren. Allerdings gibt es noch nicht viele Algorithmen für Quanten-Computer, die in dieser Form praktische verwendbar sind. Was nicht zuletzt auch an der Größe und "Sensibilität" heutiger QC liegt.

Ein relevantes Beispiel, das immer wieder als "Gefahr durch Quanten-Computer" zitiert wird, ist das Verfahren von Shor, mit dem man einen wichtigen Schritt beim "Knacken" von besten heutigen Verschlüsselungsverfahren in akzeptabler Zeit durchführen kann. Um das zu verstehen, braucht es aber schon mehr Einsicht in die zugrunde liegende Mathematik. Daher wird hier meist nur der (befürchtete) Effekt zitiert und auf Verständnis verzichtet.

"Quanten-Rechner werden herkömmlichen Rechnern überlegen sein"

Man spricht auch generell von Quanten-Überlegenheit (Quantum Supremacy). Trotz der beängstigent klingenden Bezeichnung handelt es sich hier um eine unspektakuläre Sache. Es bedeutet lediglich das Ereignis, dass es eine Berechnung gibt, die ein Quanten-Computer schneller als jeder herkömmliche Supercomputer durchführen kann. Dabei ist es erst einmal egal, ob diese Berechnung einen Sinn macht oder praktische Bedeutung hat. Wie man kürzlich lesen konnte, hat man (mit einem QC von Google) bereits eine solche Berechnung durchführen können, d.h. der Meilenstein Quantum Supremacy ist schon erreicht.

"Jedes zusätzlich Qubit verdoppelt die Leistungsfähigkeit des Systems"

Hier bleibt einerseits unklar, was mit Leistungsfähigkeit gemeint ist - Rechenleistung, Speicherleistung, Leistung eines Algorithmus, der ein Qubit mehr zur Verfügung hat? Auch wenn wir einen Bit-Speicher (Register) um ein Bit erweitern, also von n auf n+1 Bits, können wir damit 2**(n+1) = 2*2**n Werte speichern bzw. mehr oder längere Befehle ausführen. So hatte sich auch die Prozessorarchitektur von früheren 32 Bit auf 64 Bit bei herkömmlichen Computern verändert und dabei prinzipiell eine 32-fache Verdoppelung der Leistung ermöglicht.

Was macht nun ein Qubit mehr aus bei einem Quanten-Computer? Zum einen gibt es dann doppelt so viele Basiszustände. Z.B. von 8 bei einem 3-Qubit System auf 16 bei 4 Qubits. In Superposition können damit 16 statt nur 8 Koeffizienten (Amplituden) einen Zustand bestimmen. Diese Verdoppelung ist analog der Situation bei Bits und wir hatten das schon oben bei N vs log(N) erklärt.

Zum anderen wissen wir, dass - ganz ander als beim Bit-Computing - verschränkte Zustände eine wichtige Rolle im Qubit-Computing spielen. Man kann sich also fragen, was bringt ein zusätzliches Qubit für die möglichen Verschränkungen, oder allgemein für die möglichen "Konfigurationen" von Superpositionen. Anders ausgedrückt: wieviel mehr Möglichkeiten gibt es für Zustände, in denen nur ein Basiszustand vertreten ist, oder zwei, oder drei usw. - unabhängig von den Werten der Amplituden. Diese Zahl wächst offenbar kombinatorisch. Für n=2 sind die "Muster" noch überschaubar: 4 mal |x>, 6 mal |x>+|y>, 3 mal |x>+|y>+|z> und 1 mal |x>+|y>+|z>+|v>, wenn |x>,|y>,|z>,|v> die Basiszustände |00>, |01>,|10>,|11> durchlaufen.

In Q13 (Superdichte Codierung) haben wir einen anderen Verdopplungseffekt gesehen: die Kapazität, Bitketten in GHZ-verschränkten Qubits zu "speichern" bzw. zu übertragen. Hier brachte jedes weitere Qubit in einer solchen Verschränkung eine Verdoppelung der Anzahl übertragbarer Bitketten.

 

Zuletzt eine Anmerkung: Bei "Was man so liest" fragt man sich leicht, wo man das gelesen hat. Die konkreten Aussagen in den Überschriften sind keine echten Zitate, obwohl sie so oder in Variationen der Wortwahl tatsächlich vorkommen. Wir wollen hier aber kein "Bashing" anzetteln, sondern nur kostruktiv klären, was dahinter steckt oder wo man leicht fehlgeleitet wird. Daher verzichten wir auf Quellenangaben.

 


Quantencomputing ohne Quantenmechanik?

Von Ulrich Trottenberg und Bernhard Thomas

Bild: interactive.quantumnano.at

Quantencomputing ist ein heißes Thema - in Universitäten,  Forschungszentren,  in den großen IT-Firmen, in der internationalen und nationalen Forschungsförderung - und mittlerweile auch in der Politik. Das geht so weit, dass uns führende Personen der Öffentlichkeit, die sonst mit ihren schwachen mathematischen Leistungen und ihrem mathematischen Desinteresse kokettieren, uns das Quantencomputing mit seinen großartigen, revolutionären Möglichkeiten „erklären“.

Auf der anderen Seite haben uns die bedeutendsten Physiker des letzten Jahrhunderts erklärt, dass man die Quantenmechanik - also die physikalische Basis des Quantencomputing – wenn überhaupt,  nur mathematisch verstehen kann: Zentrale Phänomene der Quantenmechanik, insbesondere die Superposition und die Verschränkung,  entziehen sich der Anschauung und stehen in (scheinbarem) Widerspruch zur physikalischen Alltagserfahrung.  Selbst Albert Einstein bezeichnete das Phänomen der Quanten-Verschränkung  als spukhafte Fernwirkung, der ebenfalls geniale Physiker Richard Feynman formulierte pointiert: „Man kann sicher sagen, niemand versteht die Quantenmechanik.“  Und Erwin Schrödinger,  einer der Begründer der Quantenmechanik, versuchte mit seinem berühmten Katzen-Paradox in einem oft missverstandenen Gedankenexperiment die Übertragung quantenmechanischer Phänomene auf die Alltagswelt ad absurdum zu führen (Siehe "Schrödingers Katze" bei Wikipedia).

Bild: scratchpost.dreamhosters.com

 

Und die echten Experten des Quantencomputing? Was sagen die? Da überwiegen in der Tat die optimistischen Einschätzungen (nicht nur bei denen, die von den Forschungsmilliarden gefördert werden). Sie gehen z. B. davon aus, dass man mit Quantencomputern - bei einer Reihe wichtiger Anwendungen - viel, viel schneller, „exponentiell“ schneller rechnen kann als mit herkömmlichen Computern, dass man mit Quantencomputern Probleme lösen kann, die als praktisch unlösbar gelten, fast jeden Verschlüsselungscode knacken kann usw. .

Aber es gibt auch die Skeptiker, die noch einen weiten Weg vor sich sehen bis zu einer praktischen Realisierung großer, leistungsfähiger Quantencomputer. Ein Argument der Skeptiker ist auch, dass mit Quantencomputern erzielte Ergebnisse in aller Regel nur mit einer gewissen Wahrscheinlichkeit „richtig“ sind und dass man möglicherweise die Rechnungen sehr häufig  wiederholen muss, um die Ergebnisse abzusichern.

Schließlich die Algorithmen, die Software? Gibt es die denn schon? Kann man die entsprechenden Algorithmen verstehen? Die Interscience Akademie für Algorithmik hat den Versuch gemacht, Quanten-Algorithmen verständlich zu machen mit nicht mehr als Schulmathematik (Unterstufe / Mittelstufe). Daraus ist eine Serie von 16 Blogs entstanden, eingeleitet durch den Artikel "Quanten-Computing für die Schule - Echt jetzt?". Das geht ohne die Quantenmechanik zu bemühen – und auch ohne die quantenmechanische Mathematik (wie Hilberträume, partielle Differentialgleichungen, Tensoren, Matrizen und Vektoren usw.) zu verwenden. Was vorausgesetzt wird, ist ein bisschen Schulmathematik, einfaches Grundverständnis für klassische Computer; nützlich beim Ausprobieren, aber nicht notwendig, sind elementare Programmierkenntnisse.

Viel Spaß beim Quantencomputing!

Bild: www1.wdr.com