Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung
Jan G. Wieners // jan.wieners@uni-koeln.d...
Grillen & Co. am Aachener Weiher: Do., 26.06.2014, ~19:00 Uhr
 Formale Sprachen
 Automaten
 Deterministische endliche Automaten
 (Nichtdeterministische endliche Automaten)
 Anwend...
Formale Sprachen & Co.
mov al, 61h
vs.
SELECT uid, name, pass, mail FROM
users
WHERE uid < 2
Grammatikbeispiel natürliche Sprache: deutsche
Sprache
<Satz>  <Nominalsatz> <Verb>
<Nominalsatz>  <Artikel><Substantiv>...
Grammatikalisch richtig und sinnvoll:
„Die kleine Katze schläft.“
Grammatikalisch falsch
(zwar richtig nach dem vorhergehe...
Formale Sprache
 z.B. Programmiersprache
 auf Basis einer verhältnismäßig kleinen Menge von
Regeln werden Programme form...
Definitorisches:
Alphabet, Wort, Sprache
Alphabet?
Alphabet.
- endliche, nichtleere Menge von Zeichen (auch: Buchstaben oder Symbole 
formale Einheit, die nicht weiter defi...
Σ Binärcode = {???}
Σ Binärcode = {0,1}
Σ Hexadezimalcode = {???}
Σ Binärcode = { 0,1 }
Σ Hexadezimalcode = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Wort?
Wort.
- Ein Wort über einem Alphabet Σ ist eine endliche Folge von
Zeichen aus Σ.
- Es existiert genau ein Wort über Σ der...
Σ = { Anweisung, Bedingung, if, then, else, begin, end, while }
w = if Bedingung then Anweisung end
|w| = 5
Die Menge alle...
Die wichtigste Operation für Wörter besteht aus dem Verketten
einzelner Wörter
 Komposita (z.B. Dampfschiffahrt).
Beispie...
Zwischenstand
Zwischenstand
 Formale- vs. natürliche Sprachen
 Grammatik
 Alphabet
 Buchstabe
 Wort
 ToDo  Konzepte: Automaten & Co.
Zwischenst...
Automaten
Gemeinsamkeiten?
Automatencharakteristika?
Automat = „Gerät, das in Abhängigkeit vom
aktuellen Zustand und von der jeweiligen Aktion /
Eingabe in einen anderen Zusta...
(Endlicher) Automat = „Endliche Automaten umfassen
Zustände und Übergänge zwischen Zuständen, die in
Reaktion auf Eingaben...
Endliche Automaten
Beispiel Drehkreuzautomat:
 Verwendet wird das Alphabet
Σ = { „Chip“, „drehen“}
Endliche Automaten
Zustände / Zustandsübergänge:
 Verriegelt: Im verriegelten Zustand lassen sich die Arme
nicht drehen
 Chipeinwurf: Einwu...
Verwendung in der Informatik: u.a. Prüfung von
Zeichenketten, d.h. Prüfung, ob die Eingabe einer
bestimmten Bedingung genü...
Formale Definition DEA:
Ein deterministischer endlicher Automat […] besteht
[…] aus
◦ einem Alphabet Σ, das die zulässigen...
Formale Definition DEA, kurz und knackig:
Ein DEA besteht aus den fünf Komponenten
(„fünf-Tupel“) Z, Σ, δ, z0, E
◦ Z ist e...
Der Automat ALA=(Z, Σ, δ, z0, E) prüft, ob die
Eingabe eine korrekt geschriebene ganze Zahl
ohne führende Nullen darstellt...
Übergangsdiagramm:
 Jeder in Z enthaltene Zustand wird durch einen Knoten
dargestellt
 Für jeden Zustand z0 aus Z und fü...
Zustands-/Übergangsdiagramm:
Deterministischer endlicher Automat
Vgl.: Socher, Rolf: Theoretische Grundlagen der Informati...
Fall I:
Zu Beginn, d.h. im Startzustand z0, können drei Fälle
unterschieden werden:
 Ist das erste Eingabezeichen eine 0,...
Fall II:
 Ist das erste Eingabezeichen nicht 0 und auch nicht
das Minuszeichen, so springt der Automat in den
Zustand z2....
Fall III:
 ???
Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
Fall III:
 Ist das erste Eingabezeichen das Vorzeichen, so
springt der Automat in den Zustand z1.
 Folgt nun eine weiter...
Beispiel: Eingabe „-153“
Ist das Eingabewort „-153“ eine korrekt geschriebene ganze
Zahl?
Übung
Beispiel: Eingabe „-153“
 Verlauf: (z0, -153)  (z1, 153)  (z2, 53)  (z2, 3)  (z2, ε)
 Fazit: Die Verarbeitung endet ...
Wie reagiert der folgende DEA auf die Eingabe
„111001“? Verarbeitet der Automat die Eingabe?
Übung
Automaten
 Deterministische endliche A.
 [Nichtdeterministische A.]
ToDo:
 Grammatiken
 Kellerautomat
 Turingmaschine...
Grammatiken
Grundfrage: Wie erkennen wir, ob ein „Satz“ einer
Programmiersprache wohlgeformt, d.h. korrekt ist?
Lösung: Grammatik  Re...
Grammatikbeispiel natürliche Sprache: deutsche
Sprache
<Satz>  <Nominalsatz> <Verb>
<Nominalsatz>  <Artikel><Substantiv>...
Definition: Eine Grammatik G ist ein Quadrupel
(d.h. ein System mit 4 charakteristischen Bestandteilen):
G = {V, Σ, P, S}
...
Chomsky-Hierarchie (sowohl für natürliche, als auch für formale
Sprachen):
 Chomsky-Typ 0, auch: allgemeine Grammatik.
Ke...
Für jeden Grammatik-Typ der Chomsky-Hierarchie
existiert ein Typ von Automat, der die aus den
Grammatiken resultierenden
S...
Wofür der Aufwand?
 Compilierung: Stellt die Eingabe ein zu
akzeptierendes Programm dar?
Grammatiken und die Praxis
Kellerautomat
Intention: Endlichen Automaten fehlt ein Speicher,
der beliebig viele Informationen speichern kann und
nicht – wie DEA – v...
Formale Definition: Ein nichtdeterministischer
Kellerautomat (mit Endzuständen) ist ein 7-Tupel):
M =(Z, V, U, δ, qM, KM, ...
Turing-Maschine
Anforderung: Entwurf eines allgemeineren Automaten
Auflösung der Beschränkungen des Kellerspeichers,
u.a. dass nur an dem ...
Turing-Maschine
Abb.: Schöning, Uwe: Ideen der Informatik. München 2008, Oldenbourg Wissenschaftsverlag. S. 102.
Zelluläre Automaten /
Conway‘s Game of Life
Zelluläre Automaten  Verknüpfung einfacher
Automaten in Netzform:
Conways Spiel des Lebens
Rahmenbedingungen:
 Jeder Automat verfügt über zwei mögliche Zustände:
 Lebendig
 Tot
 Jeder Automat hängt von seinem ...
Spielregeln:
 Ist der aktuelle Zustand des Automaten „lebendig“ und
beträgt die Anzahl der lebendigen Nachbarn 2 oder 3, ...
Demo:
Conways Spiel des Lebens
Quelle: http://www.onderstekop.nl/coding/p4_Game_of_Life_Animated_GIF_Generator
Lindenmayer-System / L-System
Stephen Wolfram (*1959)
  Mathematica (1988+)
  Suchmaschine „Wolfram“ (2009+)
  „A New Kind of Science“ (2002)
Wolf...
/
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Nächste SlideShare
Wird geladen in …5
×

Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik

483 Aufrufe

Veröffentlicht am

Veröffentlicht in: Bildung
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik

  1. 1. Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de Basisinformationstechnologie II Sommersemester 2014 18. Juni 2014 – Theoretische Informatik
  2. 2. Grillen & Co. am Aachener Weiher: Do., 26.06.2014, ~19:00 Uhr
  3. 3.  Formale Sprachen  Automaten  Deterministische endliche Automaten  (Nichtdeterministische endliche Automaten)  Anwendung endlicher Automaten  Grammatiken  Kellerautomat  Turingmaschine  & Co. Themenüberblick „Theoretische Informatik“
  4. 4. Formale Sprachen & Co.
  5. 5. mov al, 61h vs. SELECT uid, name, pass, mail FROM users WHERE uid < 2
  6. 6. Grammatikbeispiel natürliche Sprache: deutsche Sprache <Satz>  <Nominalsatz> <Verb> <Nominalsatz>  <Artikel><Substantiv> ODER <Artikel><Adjektiv><Substantiv> <Artikel>  das | die <Adjektiv>  große | kleine <Substantiv>  Klavier | Katze <Verb>  schläft Definition:  Ausdrücke in spitzen Klammern, z.B. <Verb>: Variablen oder Nichtterminalsymbole  Andere Ausdrücke, z.B. „schläft“: Terminalsymbole Grammatiken Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 65 f.
  7. 7. Grammatikalisch richtig und sinnvoll: „Die kleine Katze schläft.“ Grammatikalisch falsch (zwar richtig nach dem vorhergehenden Beispiel, jedoch falsch in der Grammatik des Deutschen): „Das große Katze schläft.“ Grammatikalisch richtig, jedoch sinnlos: „Das große Klavier schläft.“ Grammatiken
  8. 8. Formale Sprache  z.B. Programmiersprache  auf Basis einer verhältnismäßig kleinen Menge von Regeln werden Programme formuliert, die der Rechner verstehen kann Zu klären (natürliche und formale Sprache):  Alphabet  Buchstabe  Wort  ... Formale Sprachen
  9. 9. Definitorisches: Alphabet, Wort, Sprache
  10. 10. Alphabet?
  11. 11. Alphabet. - endliche, nichtleere Menge von Zeichen (auch: Buchstaben oder Symbole  formale Einheit, die nicht weiter definiert wird) -V oder Σ (Sigma) als Abkürzung für Alphabete
  12. 12. Σ Binärcode = {???}
  13. 13. Σ Binärcode = {0,1} Σ Hexadezimalcode = {???}
  14. 14. Σ Binärcode = { 0,1 } Σ Hexadezimalcode = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
  15. 15. Wort?
  16. 16. Wort. - Ein Wort über einem Alphabet Σ ist eine endliche Folge von Zeichen aus Σ. - Es existiert genau ein Wort über Σ der Länge 0, das Leerwort, das wir mit ε (Epsilon) bezeichnen -Beispiel: Aus den Zeichen „a“, „b“, „c“ lassen sich Wörter wie „cba“ oder „aab“ bilden. w = Haus |w| = 4
  17. 17. Σ = { Anweisung, Bedingung, if, then, else, begin, end, while } w = if Bedingung then Anweisung end |w| = 5 Die Menge aller Wörter, die mit Zeichen aus Σ gebildet werden können, wird mit Σ* bezeichnet  Jede beliebige Teilmenge von Σ* wird als formale Sprache bezeichnet. Alphabet? Wort?
  18. 18. Die wichtigste Operation für Wörter besteht aus dem Verketten einzelner Wörter  Komposita (z.B. Dampfschiffahrt). Beispiel: Σ = {0, 1} Die Wörter über Σ (Sigma) sind alle endlichen 0-1-Folgen inklusive des Leerwortes ε (Epsilon), d.h.: Σ * = { Epsilon, 0, 1, 00, 01, 10, 11, …}  Wir bezeichnen Sprachen mit dem Buchstaben L (Language) Eine typische Sprache L über Σ ist die Menge aller vorzeichenlosen Binärzahlen ohne führende Nullen: L = {0, 1, 10, 11} Sprache
  19. 19. Zwischenstand
  20. 20. Zwischenstand
  21. 21.  Formale- vs. natürliche Sprachen  Grammatik  Alphabet  Buchstabe  Wort  ToDo  Konzepte: Automaten & Co. Zwischenstand
  22. 22. Automaten
  23. 23. Gemeinsamkeiten? Automatencharakteristika?
  24. 24. Automat = „Gerät, das in Abhängigkeit vom aktuellen Zustand und von der jeweiligen Aktion / Eingabe in einen anderen Zustand übergeht“ [Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 15.] Endliche Automaten
  25. 25. (Endlicher) Automat = „Endliche Automaten umfassen Zustände und Übergänge zwischen Zuständen, die in Reaktion auf Eingaben erfolgen. Sie sind beim Erstellen verschiedener Arten von Software nützlich […]“ [Hopfcroft, John et. al.: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. München 2002, Pearson Studium. S. 43.] Endliche Automaten
  26. 26. Endliche Automaten
  27. 27. Beispiel Drehkreuzautomat:  Verwendet wird das Alphabet Σ = { „Chip“, „drehen“} Endliche Automaten
  28. 28. Zustände / Zustandsübergänge:  Verriegelt: Im verriegelten Zustand lassen sich die Arme nicht drehen  Chipeinwurf: Einwurf entriegelt Sperre  Im entriegelten Zustand: Chipeinwurf wirkungslos  Im entriegelten Zustand: Werden die Arme gedreht, geht der Automat in den Zustand „verriegelt“ zurück Endliche Automaten Abb.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 15.
  29. 29. Verwendung in der Informatik: u.a. Prüfung von Zeichenketten, d.h. Prüfung, ob die Eingabe einer bestimmten Bedingung genügt Beispiel: <html> <head> <title>Ein HTML-Dokument</title> </head> <body>Inhalt des HTML-Dokumentes</boby> </html> Endliche Automaten
  30. 30. Formale Definition DEA: Ein deterministischer endlicher Automat […] besteht […] aus ◦ einem Alphabet Σ, das die zulässigen Eingabezeichen auflistet, ◦ einer endlichen Menge Z von Zuständen ◦ und einer Vorschrift δ (Delta), die die Zustandsübergänge beschreibt. Zusätzlich verfügt ein Automat über einen speziellen Startzustand sowie einen oder mehrere akzeptierende Zustände (auch Endezustände genannt). Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 18.
  31. 31. Formale Definition DEA, kurz und knackig: Ein DEA besteht aus den fünf Komponenten („fünf-Tupel“) Z, Σ, δ, z0, E ◦ Z ist eine endliche Menge von Zuständen ◦ Σ ist ein Alphabet, das Eingabealphabet ◦ δ : Z x Σ  Z ist die Übergangsfunktion ◦ z0 ∈ Z ist der Startzustand ◦ E ⊆ Z ist die Menge der Endezustände (E ist Teilmenge der Menge von Zuständen Z)
  32. 32. Der Automat ALA=(Z, Σ, δ, z0, E) prüft, ob die Eingabe eine korrekt geschriebene ganze Zahl ohne führende Nullen darstellt. Gültige Eingabezeichen: Σ = {-, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Beispiel: Automat zur lexikalischen Analyse Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  33. 33. Übergangsdiagramm:  Jeder in Z enthaltene Zustand wird durch einen Knoten dargestellt  Für jeden Zustand z0 aus Z und für jedes Eingabesymbol a aus Σ sei δ(z0, a)=p  Das Übergangsdiagramm enthält dann einen Pfeil, der von Knoten z0 zu Knoten p führt und mit a beschriftet ist  Knoten, die akzeptierenden Zuständen entsprechen, werden durch eine doppelte Kreislinie gekennzeichnet. Deterministischer endlicher Automat Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  34. 34. Zustands-/Übergangsdiagramm: Deterministischer endlicher Automat Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  35. 35. Fall I: Zu Beginn, d.h. im Startzustand z0, können drei Fälle unterschieden werden:  Ist das erste Eingabezeichen eine 0, so springt der Automat in den Zustand z3: (z0, 0)  (z3, ε)  z3 muss ein akzeptierender Zustand sein, da 0 ein gültiges Eingabewort ist.  Anschließend darf kein weiteres Zeichen mehr kommen, weil führende Nullen nicht erlaubt sind. Z.B.: (z3, 0)  (z4, ε) Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  36. 36. Fall II:  Ist das erste Eingabezeichen nicht 0 und auch nicht das Minuszeichen, so springt der Automat in den Zustand z2. Z.B.: (z0, 3)  (z2, ε)  Anschließend dürfen beliebig viele Ziffern, jedoch kein Vorzeichen kommen. Z.B.: (z2, 5)  (z2, ε) oder (kein gültiger Endzustand) (z2, -)  (z4, ε) Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  37. 37. Fall III:  ??? Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  38. 38. Fall III:  Ist das erste Eingabezeichen das Vorzeichen, so springt der Automat in den Zustand z1.  Folgt nun eine weitere Ziffer ungleich 0, so springt der Automat in den Zustand z2. Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  39. 39. Beispiel: Eingabe „-153“ Ist das Eingabewort „-153“ eine korrekt geschriebene ganze Zahl? Übung
  40. 40. Beispiel: Eingabe „-153“  Verlauf: (z0, -153)  (z1, 153)  (z2, 53)  (z2, 3)  (z2, ε)  Fazit: Die Verarbeitung endet im Zustand z2, der ein Endezustand ist. Das Eingabewort „-153“ ist folglich eine korrekt geschriebene ganze Zahl.  Die Menge aller Eingabewörter, die vom Automaten A akzeptiert werden, wird als die von A akzeptierte Sprache bezeichnet Übung
  41. 41. Wie reagiert der folgende DEA auf die Eingabe „111001“? Verarbeitet der Automat die Eingabe? Übung
  42. 42. Automaten  Deterministische endliche A.  [Nichtdeterministische A.] ToDo:  Grammatiken  Kellerautomat  Turingmaschine Zwischenstand II
  43. 43. Grammatiken
  44. 44. Grundfrage: Wie erkennen wir, ob ein „Satz“ einer Programmiersprache wohlgeformt, d.h. korrekt ist? Lösung: Grammatik  Regelwerk, das beschreibt, wie syntaktisch korrekte Wörter und Sätze einer Sprache, z.B. einer Programmiersprache gebildet werden Grammatiken
  45. 45. Grammatikbeispiel natürliche Sprache: deutsche Sprache <Satz>  <Nominalsatz> <Verb> <Nominalsatz>  <Artikel><Substantiv> || <Artikel><Adjektiv><Substantiv> <Artikel>  das | die <Adjektiv>  große | kleine <Substantiv>  Klavier | Katze <Verb>  schläft Definition:  Ausdrücke in spitzen Klammern, z.B. <Verb>: Variablen oder Nichtterminalsymbole  Andere Ausdrücke, z.B. „schläft“: Terminalsymbole Grammatiken Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 65 f.
  46. 46. Definition: Eine Grammatik G ist ein Quadrupel (d.h. ein System mit 4 charakteristischen Bestandteilen): G = {V, Σ, P, S}  V bezeichnet eine endliche Menge von Variablen  Σ ist das Terminalalphabet, d.h. die Menge der Terminalen Symbole. Terminale Symbole bilden das Alphabet der Sprache, sind nicht weiter zerlegbar (notiert als Kleinbuchstaben)  P ist eine Menge von Produktionen, d.h. eine endliche Menge von Regeln. Beispiel: <Satz>  <Nominalsatz><Verb>  S ist die Startvariable Grammatiken
  47. 47. Chomsky-Hierarchie (sowohl für natürliche, als auch für formale Sprachen):  Chomsky-Typ 0, auch: allgemeine Grammatik. Keinerlei Einschränkungen; jede Grammatik ist zunächst vom Typ 0. Linke und rechte Seiten der Regeln dürfen beliebige Zeichenfolgen sein, bestehend aus Variablen und Terminalzeichen.  Chomsky-Typ 1, auch: kontextsensitive Grammatik. Jede Regel der Grammatik ist so formuliert, dass die Länge nicht abnimmt, d.h.: Die rechte Seite einer Regel darf nicht kürzer sein, als die linke Seite der Regel.  Chomsky-Typ 2, auch: kontextfreie Grammatik. Die linke Seite darf nur aus einer Variablen bestehen.  Chomsky-Typ 3, auch: reguläre Grammatik. Analog Typ 2 besteht die linke Seite nur aus einer einzelnen Variablen. Darüber hinaus darf die rechte Seite nur eine der folgenden Formen haben:  Das leere Wort oder nur ein einzelnes Terminalsymbol  Ein Terminalsymbol, gefolgt von einer Variablen Grammatiken Vgl.: Schöning, Uwe: Ideen der Informatik. München 2008, Oldenbourg Wissenschaftsverlag. S. 80 ff. Bildnachweis: http://de.wikipedia.org/w/index.php?title=Datei:Chomsky.jpg&filetimestamp=20061014164127
  48. 48. Für jeden Grammatik-Typ der Chomsky-Hierarchie existiert ein Typ von Automat, der die aus den Grammatiken resultierenden Sprachen verarbeiten kann:  Typ 0 (allgemein)  Turing-Maschine  Typ 1 (kontextsensitiv)  linear beschränkter Automat  Typ 2 (kontextfrei)  Kellerautomat  Typ 3 (regulär)  endlicher Automat Grammatiken und die Praxis
  49. 49. Wofür der Aufwand?  Compilierung: Stellt die Eingabe ein zu akzeptierendes Programm dar? Grammatiken und die Praxis
  50. 50. Kellerautomat
  51. 51. Intention: Endlichen Automaten fehlt ein Speicher, der beliebig viele Informationen speichern kann und nicht – wie DEA – von vornherein, d.h. durch die Anzahl ihrer Zustände, beschränkt ist. Lösung: Kellerautomat Kellerautomat
  52. 52. Formale Definition: Ein nichtdeterministischer Kellerautomat (mit Endzuständen) ist ein 7-Tupel): M =(Z, V, U, δ, qM, KM, F)  Z ist die Zustandsmenge  V ist das Eingabealphabet  U ist das Kelleralphabet.  δ (Delta) ist die Überführungsrelation. Die Elemente aus δ heißen Anweisungen.  qM ist der Startzustand. Der Kellerautomat befindet sich in diesem Zustand, bevor ein Zustandsübergang erfolgt ist.  KM ist das Anfangskellerzeichen. Anfangs enthält der Kellerspeicher nur das Startsymbol.  F ist die Menge der akzeptierenden Zustände oder Endzustände. Kellerautomat
  53. 53. Turing-Maschine
  54. 54. Anforderung: Entwurf eines allgemeineren Automaten Auflösung der Beschränkungen des Kellerspeichers, u.a. dass nur an dem einen Ende des Speichers ein- und ausgelesen werden kann  Automat, der wahlfreien Zugang (random access) auf alle Speicherplätze erlaubt Formuliert von Alan M. Turing in „On computable numbers, with an application to the Entscheidungsproblem“ (1937) Turing-Maschine
  55. 55. Turing-Maschine Abb.: Schöning, Uwe: Ideen der Informatik. München 2008, Oldenbourg Wissenschaftsverlag. S. 102.
  56. 56. Zelluläre Automaten / Conway‘s Game of Life
  57. 57. Zelluläre Automaten  Verknüpfung einfacher Automaten in Netzform: Conways Spiel des Lebens
  58. 58. Rahmenbedingungen:  Jeder Automat verfügt über zwei mögliche Zustände:  Lebendig  Tot  Jeder Automat hängt von seinem linken, rechten, oberen und unteren Nachbarn ab.  Die Automaten ändern synchron in einem Taktrhythmus ihren Zustand  Die Zustandsänderung hängt nicht nur vom eigenen vorherigen Zustand ab, sondern auch von den Zuständen der Nachbarn  Der Nachfolgezustand hängt davon ab, wie viele seiner acht Nachbarn lebendig sind Conways Spiel des Lebens
  59. 59. Spielregeln:  Ist der aktuelle Zustand des Automaten „lebendig“ und beträgt die Anzahl der lebendigen Nachbarn 2 oder 3, so ist der Nachfolgezustand „lebendig“  Ist der aktuelle Zustand „tot“ und ist die Anzahl der lebendigen Nachbarn genau 3, so ist der Nachfolgezustand „lebendig“  In allen anderen Fällen ist der Nachfolgezustand „tot“. Conways Spiel des Lebens
  60. 60. Demo: Conways Spiel des Lebens Quelle: http://www.onderstekop.nl/coding/p4_Game_of_Life_Animated_GIF_Generator
  61. 61. Lindenmayer-System / L-System
  62. 62. Stephen Wolfram (*1959)   Mathematica (1988+)   Suchmaschine „Wolfram“ (2009+)   „A New Kind of Science“ (2002) Wolfram: A new kind of science
  63. 63. /

×