170 likes | 336 Views
Grundlagen der Informatik. Prof. Wolfgang SLANY. Zentraler Begriff: Information - 0 & 1. Binäre Zahlen! Google Rechner: „26 in binary “ = 0b11010 Diskret/digital versus reelle Zahlen/analog Analoge Signale durch eine endliche Anzahl von Nullen und Einsen approximiert ( zB DVD)
E N D
Grundlagen der Informatik Prof. Wolfgang SLANY Grundlagen der Informatik - Prof. Slany
Zentraler Begriff: Information - 0 & 1 • Binäre Zahlen! Google Rechner: „26 in binary“ = 0b11010 • Diskret/digital versus reelle Zahlen/analog • Analoge Signale durch eine endliche Anzahl von Nullen und Einsen approximiert (zB DVD) • aber auch die Natur ist diskret; ist in heutigen Computerchips schon relevant, und bei zukünftigen Quantencomputern natürlich noch viel mehr • Es gibt vermutlich nur endlich viele Teilchen im All The purposeofcomputingisinsight, not numbers. The purposeofcomputingisnot yet in sight. Grundlagen der Informatik - Prof. Slany
Berechne binäre Zahl + 1 // 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 (fgfetc, Anfangszustand, gelesenes Symbol) // -> (darübergeschriebenes Symbol, // Richtung zum Gehen, neuer Zustand) Grundlagen der Informatik - Prof. Slany
Binäre Zahl + 1 …interaktiv Grundlagen der Informatik - Prof. Slany
// 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,) Grundlagen der Informatik - Prof. Slany
Marvin-10 vs heutiger Computer 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 123456,symbol 654321)-> (symbol 777777,nach vorn, state 9999) • Und: 4GHz -> 4.000.000.000 „Schritte“ / s Grundlagen der Informatik - Prof. Slany
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: ...10111.. Grundlagen der Informatik - Prof. Slany
Abstraktes Prüfungsbeispiel • Eingabeband mit einer unbekannten Anzahl > 0 von Einsernlinks von genau einer Null. • Der Rest des Bandes ist mit Zweiern gefüllt. • Der Cursor steht auf der ersten Eins. • Beispiel: …2222211110222222… Grundlagen der Informatik - Prof. Slany
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: …2222211110222222222… ↓ …2222222220111111112… Grundlagen der Informatik - Prof. Slany
Abstraktes Prüfungsbeispiel (3) • Vorgabe: Grundlagen der Informatik - Prof. Slany
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
Abstraktes Prüfungsbeispiel (4) • Lösung: Grundlagen der Informatik - Prof. Slany
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 Grundlagen der Informatik - Prof. Slany
Turing Maschinen • Normalerweise ist Speicher nicht 2D, sondern ein-dimensional = Original TM mit nur einem 1D Speicherband (1 tapeturingmachine), einfachstes Modell • Realistisches 1D Speichermodell • Zustand = „Akkumulator“, „Register“ • Schreibe/Lesekopf = Marvin-10 = Cursor = Pointer • Übergangsregeln: realistisches Modell für CPU (centralprocessingunit) und Maschinensprache • Programme: Assembler-Code Grundlagen der Informatik - Prof. Slany
Turing Maschinen • Simulationeiner 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