Dienstag, 21. Februar 2017

Wunder, Wohltaten und Plagen der Informatik

Der Titel des Buchs ‚Sieben Wunder der Informatik‘ von Juraj Hromkovič von 2006 machte mich neugierig. Da das Buch zum Jahreswechsel als Teil eines günstigen Angebots des Verlags zu haben war, hatte ich einen Grund es jetzt zu lesen. Das Buch hat mir sehr viel Spaß gemacht und ich kann es nur empfehlen. Es hat mir mal wieder klargemacht, dass andere Leute oft ganz andere Sichten auf unser Fachgebiet haben, als ich mir dies in meiner Berufspraxis angewöhnt hatte. Hromkovič sieht die Informatik primär aus der Sicht des Algorithmenentwurfs. Es ist noch nicht lange her, da war dies einmal ein Teil der angewandten Mathematik. Manche Leute rechnen das Gebiet auch heute noch dazu. Beim Lesen fragte ich mich immer wieder, wann kommt eigentlich etwas, was man als Informatik im eigentlichen Sinne ansehen könnte, also etwas genuin Informatisches. Ich werde zunächst Hromkovičs Ideen kurz vorstellen, dann werde ich versuchen, etwas darüber hinauszublicken.

Erstaunliches aus der Algorithmik

Nach den sieben im Titel versprochenen Wundern musste ich etwas suchen. Im Text war nur das erste auch als Wunder bezeichnet. Bei allen andern habe ich aus der Beschreibung geschlossen, dass dies wohl auch das Prädikat Wunder bekommen haben müsste. Es ist nicht auszuschließen, dass ich schon mal danebengegriffen habe. Hier also die Liste der ‚sieben Informatik-Wunder‘:
  1. Randomisierung von Algorithmen: Dass Algorithmen durch Nutzung von Zufallszahlen verbessert werden können, grenzt tatsächlich an ein Wunder. Man erzielt eine kürzere Laufzeit durch den Verlust der Sicherheit, das absolut beste Ergebnis zu haben. Bei bestimmten Verfahren verringert sich die Wahrscheinlichkeit eines Fehlers durch lineare Verbesserung exponentiell. Sie kann dadurch leicht unter die Fehlerwahrscheinlichkeit der Hardware (10 hoch -18) gedrückt werden. Juraj Hromkovič arbeitet auf diesem Gebiet.
  2. Symmetrische Verschlüsselung: Das im Jahre 1976 veröffentlichte Verfahren nach Whitfield Diffie und Martin Hellman (Turing-Preis 2015) gestattet die symmetrische Verschlüsselung. Es ist jedoch nur bei passiven Boten sicher.
  3. Public-Key-Verfahren: Das im Jahre 1978 veröffentlichte Verfahren nach Max Rivest, Ron Shamir und Len Adleman  (Turing-Preis 2002) benutzt eine Einwegfunktion. Die Firma RSA ist weltbekannt geworden, vor allem wegen ihrer Patente. Ihr Verfahren ist heute in der Praxis nicht mehr wegzudenken.
  4. DNA-Rechner: Dass mit DNA-Molekülen gerechnet werden kann, ist im Prinzip klar. In chemischen Prozessen stehen Operationen wie Trennen, Zusammenfügen und Test auf Leer von DNA-Sequenzen zur Verfügung. Es wurde gezeigt, dass man damit Pfade in einem Netz suchen kann. Einzelne Operationen können allerdings Tage dauern, die Fehlerrate ist hoch (3%).
  5. Quantenrechner: Sie sind in aller Munde, besonders im Hinblick auf ihre Anwendung in der Kryptografie. Benachbarte Register sind in Superposition mit unterschiedlicher Wahrscheinlichkeit. Gerechnet wird mit 2 hoch n Qbits gleichzeitig. Quantenrechner bleiben spezielle Einzweckrechner. Sie werden Desktops und Smartphones nicht ersetzen. Sie müssen tiefgekühlt werden, um zu funktionieren. Sie sind sehr instabil, da sie mit der Umwelt interferieren können.
  6. Online-Planung (Scheduling): Die Zeitablaufsteuerung bezweckt das Erstellen eines Ablaufplanes (engl. schedule), der Prozessen zeitlich begrenzt Ressourcen zuteilt. Das Planen kann auch dann sinnvoll sein, wenn sich die Aufgaben dynamisch ergeben, etwa bei einem Notdienst.
  7. Simulated Annealing: ‚Annealing‘ heißt Ausglühen. Es ist ein seit Jahrtausenden angewandtes Verfahren, um Metall-Bindungen zu stärken. Metalle nehmen quasi ein heißes Bad mit anschließender Abkühlung. Als Simulation dieses Verfahrens gilt der so genannte Metropolis-Algorithmus.
Wie gesagt, es handelt sich bei der Algorithmik um ein zwar interessantes und zentrales Teilgebiet der Informatik. Man sollte es jedoch nicht mit der Informatik als Ganzer gleichsetzen. Woran ich dabei denken muss, soll in den folgenden Abschnitten angedeutet werden.

Erfreuliches dank Informatik

Noch wichtiger als die erwähnten sieben Wunder sind die Wohltaten oder Durchbrüche, die bewirkten, dass die Informatik eine unvergleichbare Breitenwirkung erzielte. Ich greife exemplarisch ein Dutzend heraus. Diese Liste ist bei weitem nicht vollständig. Leiten ließ ich mich von den herausragenden Leistungen einiger Kollegen, die dafür eine Anerkennung als Turing-Preisträger fanden. Die meisten dieser Leistungen sind Wohltaten nicht nur für das Fach Informatik, sondern für die gesamte Menschheit. Unsere Technik ist nämlich eine, die nach ihrem Nutzen für Menschen bewertet werden muss.    
  1. Frühe Programmiersprachen: Kein Kollege hat das Gebiet der Programmiersprachen mehr befruchtet als Niklaus Wirth (Turing-Preis 1984). Von ihm stammen  EULER, ALGOL-W, MODULA und PASCAL. PASCAL hatte einen großen pädagogischen Einfluss und bildete die Grundlage für mehrere heute im Einsatz befindliche Sprachen. Ken Iverson (Turing-Preis 1979) schuf die Sprache APL. Ihre sehr kompakte mathematische Notation bereitete den Weg für das interaktive Programmieren vor.     
  2. Objektorientierte Sprachen: Ole-Johan Dahl und Kristen Nygaard (Turing-Preis 2001) legten den Grundstein für die objekt-orientierte Programmierung mit der Sprache Simula. Die Konzepte Objekt, Klasse und Vererbung hatten hier ihren Ursprung. In Java hat Jim Gosling eine Trennung von Compile- und Laufzeit-Umgebung realisiert, die es erlaubt vorübersetzte Programme auf allen möglichen Gerätschaften zu nutzen. Java ist heute die wichtigste Programmiersprache.
  3. Rechnerarchitektur und Betriebssysteme: Mit Fred Brooks (Turing-Preis 1999) verbindet man das System/360. Hier wurde nicht nur das 8-bit-Byte eingeführt, sondern eine Vielzahl von Architekturkonzepten, die unsere ganze Branche beeinflussten. Gene Amdahl und Gerry Blaauw waren damals Brooks' Wegbegleiter. Brooks leitete später auch das Team, das das größte Software-Projekt seiner Zeit realisierte, das Operating System/360, kurz OS/360. Von den vielen Betriebssystemen der Frühzeit schälte sich Unix zum Defacto-Standard heraus. Es ist die Basis von IOS und Android, den beiden konkurrierenden Smartphone-Betriebssystemen. Seine Autoren waren Dennis Ritchie und Ken Thompson (Turing-Preis 1983).  Sie bestimmten wie fortan in der Branche über Programmierung gedacht wurde und wie Entwickler zusammenarbeiteten.
  4. Grafische Systeme und grafische Nutzungsschnittstellen: Dass Computer sich heute nicht auf den Umgang mit Zahlen und Texten beschränken müssen, geht zurück auf Pioniere wie Ivan Sutherland (Turing-Preis 1988). Für sein System Sketchpad schuf er die erste Grafische Nutzungsschnittstelle (engl. graphical user interface, GUI). Der Nutzer konnte am Bildschirm zeichnen und Objekte manipulieren, d.h. drehen, verzerren und verfärben. Einen weiteren wichtigen Schritt stellte die Erfindung der Computer-Maus durch Doug Engelbart (Turing-Preis 1997) dar. Statt durch eingetippte Befehle wurden fortan alle Objekte (Dateien, Programme, Texte) wie auf einem Schreibtisch hin und her geschoben.
  5. Transaktionssysteme und Datenbanken: Als Jim Gray (Turing-Preis 1998) und Andreas Reuter ihr Buch über Transaktionssysteme schrieben, glaubten sie noch, dass es außerhalb von Transaktionen keine ernsthaften Computer-Anwendungen gäbe. Für die Welt der langfristigen Datenspeicherung war Ted Codd (Turing-Preis 1981) eine Art von Messias. Sein Relationales Model löste im Laufe der 1980er Jahre alle andern Methoden der Datenorganisation ab.
  6. Entwurfs- und Testverfahren: Zu den erfolgreichen Entwurfsprinzipien in der Informatik zählt die so genannte Datenabstraktion. Man definiert Operationen möglichst ohne Bezug auf die Struktur der Daten. Die Grundlagen dieses Konzept gehen auf Barbara Liskov (Turing-Preis 2008) zurück. Beim Jahrzehnte langen Ringen um bessere Testmethoden erwies sich das Model Checking als Lichtblick. Es basiert auf Arbeiten von Ed Clarke, Allen Emerson und Joseph Sifakis  (Turing-Preis 2007). Das System wird in einer logischen Notation spezifiziert, gegen die das System durch Ausführung maschinell verglichen wird.
  7. Internet und Web:  Viele Zeitgenossen setzen heute Computer und Internet gleich. Das Transmission Control Protocol sowie das  Internet Protocol (TCP/IP), das Vin Cerf  und Bob Kahn (Turing-Preis 2004) entwarfen, ist die Basis des Internet. Das Konzept des Uniform Resource Locators (URL), das Tim Berners-Lee erfand, ebnete den sagenhaften Erfolg des Web. Dass das Suchen im Netz so leicht und dennoch so ergiebig ist, geht auf die Erfindung des Page-Rank-Algorithmus durch Sergey Brin und Larry Page zurück. Selten hat ein einzelner Algorithmus die Wirtschaft und Wissenschaft so verändert, wie Google bzw. Alphabet dies tun. Diverse technische Erfindungen wie das Komprimierverfahren MP3, beigetragen von Karl Heinz Brandenburg und seinen Kollegen, eröffneten den Online-Markt für Musik und Videos. Damit explodierten die Datenmengen. Das Gespenst namens ‚Big Data‘ überzieht seither die Welt.
  8. Robotik: Roboter sind Computer, die aktiv mit ihrer Umgebung interagieren oder sich bewegen. Roboter, die Rasen mähen oder Treppen steigen, oder selbstfahrende Autos machen von sich reden. Von der Vielzahl von erforderlichen Technologien sei nur das Maschinelle Lernen herausgegriffen. Dabei kommen in der Regel Neuronale Netze zum Einsatz. Handelt es sich dabei um mehrstufige Netze, spricht man von ‚Deep Learning‘. Manche aktuellen Erfolge werden dieser Technik zugeschrieben.
  9. Wikipedia: Als richtungsweisendes Projekt im Internet sei das Online-Lexikon Wikipedia erwähnt. Es bietet zurzeit etwa 40 Millionen Artikel in fast 300 Sprachen. Sie werden von einer Vielzahl von Autoren verfasst. Dabei werden sie fortlaufend bearbeitet und diskutiert. Alle Inhalte stehen unter freien Lizenzen. Sie sind nicht durch Copyright geschützt. Jimmy Wales ist der Initiator. Die Finanzierung erfolgt durch Spenden (engl. crowd funding).
  10. Endgeräte-Explosion: Nichts hat die Informatik bisher mehr verändert als der Erfolg der Smartphones. Es war Steve Jobs, der die Jahrzehnte alte Vision umsetzte, Telefone und Computer zu integrieren. Die Stückzahlen gehen bereits in die Milliarden. In Stadtstaaten wie Hongkong und Singapur überschreiten sie die Anzahl der Einwohner. Die Erkennung und das Übersetzen von natürlicher Sprache machen Riesenfortschritte. Es ist dazu kein Wunder mehr erforderlich, besonders im Anbetracht der überall verfügbaren Rechnerkapazität. Nur zur Illustration: Ich selbst  trage einen 37-GIPS-Rechner mit 64 Gigabytes Speicher am Gürtel beim Gang durch die Wohnung. Es ist dies das 250- bzw. 8000-fache einer Cray-1. Mein Smartphone ist ein iPhone 6s.
  11. Internet der Dinge: Um eine weitere Größenordnung können sich die Endgeräte verkleinern bzw. ihre Anzahl vergrößern, wenn wir an Sensoren denken, die mit dem Internet verknüpft sein werden. Es wird erwartet, dass durch diese Technologie die Fertigungsindustrie einen enormen Schub erfährt (Industrie 4.0).
  12. Geschäftsmodelle: Es war ein langer Weg von den ersten Großrechnern mit karger Software zu einer Industrie, in der Software ein eigenständiges Geschäft darstellte. Bill Gates gilt als einer der Pioniere, die sich dem Neuen gegenüber öffneten und davon profitierten. Auch dies war nur ein Zwischenschritt. Software kann heute ein Köder sein, um andere Produkte zu lancieren, oder eine erfolgreiche Suchmaschine ermöglicht ein Werbegeschäft bisher nicht dagewesenen Ausmaßes. Die Zahl möglicher unterschiedlicher Geschäftsmodelle füllt Bücher.
Übrigens treffen sich alle noch lebenden Turing-Preisträger in diesem Sommer in San Francisco. Einige der hier genannten Kollegen sind vielleicht Kandidaten für zukünftige Turing-Preise.

Bedrohliches aus der Informatik

Ehe ich als blauäugiger Optimist verspottet werde, möchte ich auch auf Probleme hinweisen, für deren Entstehung die Informatik verantwortlich ist. Es sind Plagen, d.h. Fehlentwicklungen mit bedenklichen, ja potentiell fatalen Folgen. Ich will nur ein halbes Dutzend erwähnen. 
  1. Offene Systeme: Die Möglichkeit, dass ein Hersteller sich frei an den Entwicklungsergebnissen anderer Hersteller bedienen kann, wird vielfach als hohes Gut angesehen. Manchmal möchte man nur auf einer Ebene einer mehrstufigen Produkt-Hierarchie konkurrieren. Es wird dadurch neuen Herstellern der Markteintritt erleichtert. Dass dadurch oft die Sicherheit der Nutzer beeinträchtigt wird, ist ein offenes Geheimnis. Steve Jobs setzte daher lieber auf geschlossene Systeme und war damit äußerst erfolgreich.
  2. Verschleierte Kosten: Die an Hochschulen übliche kostenlose Nutzung aller Investitionen in Geräte- und Netzkapazitäten wurde im Internet weitgehend als Modus übernommen. Dies läd zur massenhaften Verbreitung von Nachrichten und Informationen geradezu ein. Der Nutzer muss sich selbst gegen SPAM schützen. Dass dadurch das Geschäftsmodell ganzer Branchen (wie das der Verlage) gefährdet wird, wird achselzuckend in Kauf genommen. 
  3. Schadsoftware: Es wird sehr oft erst im Nachhinein darauf reagiert, dass es Nutzer gibt, die mittels Malware (Viren, Trojaner, Würmer, Phishing) ihre Ziele zu erreichen versuchen. Finanzanwendungen sind besonders gefährdet.
  4. Überwachung: Je stärker die Möglichkeiten der Kommunikation sind, desto größer wird die Gefahr gesehen, dass staatliche Institutionen oder private Organisationen diese nutzen, um die Bevölkerung zu überwachen oder zu manipulieren. Leicht wird hier auch ein zu negatives Bild gemalt.
  5. Energiekosten: Der Energieverbrauch elektronischer Geräte ist unverhältnismäßig hoch. Es wird geschätzt, dass etwa 10% des Stromverbrauchs Deutschlands auf Informatik-Geräte fällt. Als Entwurfsziel kam die Energieersparnis erst sehr spät zur Geltung. 
  6. Abfall: Die meisten Informatik-Geräte sind einer schnellen technischen Alterung unterworfen. Sie tragen damit zur Abfallschwemme bei.
Welche Gegenmaßnahmen zur Verfügung stehen, um sich gegen diese Gefahren abzusichern, soll hier nicht näher diskutiert werden.

1 Kommentar:

  1. Für eine solide Einführung in die Algorithmik verweise ich auf Thomas Ottmanns 'Prinzipien des Algorithmenentwurfs'. Das Buch enthält zwei CDs, und erschien bereits 1998.

    AntwortenLöschen