Grundlagen der Informatik - Prof. Slany 1 Grundlagen der Informatik Prof. Wolfgang SLANY
Grundlagen der Informatik - Prof. Slany 2 Zentraler Begriff: Information - 0 & 1 Binäre Zahlen! Google Rechner: 26 in binary = 0b11010 Diskret/digital versus reelle Zahlen/analog –A–A–A–Analoge Signale durch eine endliche Anzahl von Nullen und Einsen approximiert (zB DVD) –a–a–a–aber auch die Natur ist diskret; ist in heutigen Computerchips schon relevant, und bei zukünftigen Quantencomputern natürlich noch viel mehr –E–E–E–Es gibt vermutlich nur endlich viele Teilchen im All The purpose of computing is insight, not numbers. The purpose of computing is not yet in sight.
Grundlagen der Informatik - Prof. Slany 3 Berechne binäre Zahl + 1 // Aus dem Beginnplatz heraus in Richtung Zahl // Aus dem Beginnplatz heraus in Richtung Zahl (fgf,,)->(,nach vorn,) (ggg,,)->(,nach links,) // Erklärung der Schreibweise: f=Fels, g=Gang // fgf= links Felsen, mitte Gang, rechts auch Felsen // Format: (Ausgangslage) -> (folgende Lage) // ZB (fgf etc, Anfangszustand, gelesenes Symbol) // -> (darübergeschriebenes Symbol, // Richtung zum Gehen, neuer Zustand)
Binäre Zahl + 1 …interaktiv Grundlagen der Informatik - Prof. Slany 4
5 // binäre Zahl fängt an // Anfang der Rechnung "+ 1" (fgg,,0)->(1,umdrehen,grün) // fertig, zurück (fgg,,1)->(0,nach vorn,) // +1, Übertrag (fgg,,)->(1,umdrehen,grün) // Ende der Zahl // Zurück zum Eingang (ggf,grün,0)->(0,nach vorn,grün) (ggg,grün,)->(,nach rechts,)
Intuition: Im Prinzip passiert bei einer Addition bei beiden genau das Gleiche; aber: zB 64 Bit CPU (bei echtem Computer nur Bits) Kein Problem: einfach mehr Symbole und Zustände verwenden, zB (ggf,state ,symbol ) -> (symbol ,nach vorn, state 9999) Und: 4GHz -> Schritte / s Grundlagen der Informatik - Prof. Slany 6 Marvin-10 vs heutiger Computer
Bei Vorlesungsprüfung … Nicht mehr 2-dimensional wie bei Labyrinth Sondern einfacher nur 1-dimensional = ein langes Band (Speicher) Bewegung: nur, oder stehen bleiben Statt Marvin: Schreibe-Lese-Kopf Cursor Beispiel: (0,grün) -> (1,,blau) Band mit Cursor-Position: Grundlagen der Informatik - Prof. Slany 7
Abstraktes Prüfungsbeispiel Eingabeband mit einer unbekannten Anzahl > 0 von Einsern links von genau einer Null. Der Rest des Bandes ist mit Zweiern gefüllt. Der Cursor steht auf der ersten Eins. Beispiel: … … Grundlagen der Informatik - Prof. Slany 8
Abstraktes Prüfungsbeispiel (2) Gesucht ist eine Turingmaschine, die –alle Einser mit Zweiern überschreibt und –dafür doppelt so viele Einser direkt rechts von der Null ausgibt. –Nach Ablauf des Programms soll sich der Schreib- / Lesekopf auf der Null befinden. Beispiel: … … … … Grundlagen der Informatik - Prof. Slany 9
Abstraktes Prüfungsbeispiel (3) Vorgabe: Grundlagen der Informatik - Prof. Slany 10
Lösungsversuch… Idee: –einen Einser nach dem anderen rüber –dabei linke Einser gleich überschreiben –immer rechts bis zum letzten Einser gehen, dann noch zwei Einser dazu schreiben –ganz am Ende beim Nuller stehenbleiben Grundlagen der Informatik - Prof. Slany 11
Abstraktes Prüfungsbeispiel (4) Lösung: Grundlagen der Informatik - Prof. Slany 12
Grundlagen der Informatik - Prof. Slany 13 Turing Maschinen Alan Turing 1936 Speicherplatz: –2D, Anfangsecke, nach rechts und nach oben beliebig viel Platz, Anfangsbeschriftung Symbole: leerer Platz, 0, 1, 2, … Zustände: Anfangszustand Schwarz, weitere Grün, Rot, halte an, … Menge von Übergangsregeln Marvin-10 + Labyrinth
Normalerweise ist Speicher nicht 2D, sondern ein-dimensional = Original TM mit nur einem 1D Speicherband (1 tape turing machine), einfachstes Modell Realistisches 1D Speichermodell Zustand = Akkumulator, Register Schreibe/Lesekopf = Marvin-10 = Cursor = Pointer Übergangsregeln: realistisches Modell für CPU (central processing unit) und Maschinensprache Programme: Assembler-Code Grundlagen der Informatik - Prof. Slany 14 Turing Maschinen
Simulation einer 2D TM (zB Marvin-10) auf einer 1D TM: –Zeilen hintereinander auf einem Band, durch spezielle Symbole getrennt –Zeilenwechsel = vorherige Zeile oder nächste Zeile; Platz: Verschieben eines Cursor-Symbols in ursprünglicher Zeile, parallel dazu in neuer Zeile: viel hin und her Gerenne Gut machbar? –Effektiv? –Effizient? Grundlagen der Informatik - Prof. Slany 15 Turing Maschinen