SlideShare ist ein Scribd-Unternehmen logo
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
Grillen & Co. am Aachener Weiher: Do., 26.06.2014, ~19:00 Uhr
 Formale Sprachen
 Automaten
 Deterministische endliche Automaten
 (Nichtdeterministische endliche Automaten)
 Anwendung endlicher Automaten
 Grammatiken
 Kellerautomat
 Turingmaschine
 & Co.
Themenüberblick „Theoretische Informatik“
Formale Sprachen & Co.
mov al, 61h
vs.
SELECT uid, name, pass, mail FROM
users
WHERE uid < 2
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
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.
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
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
Definitorisches:
Alphabet, Wort, Sprache
Alphabet?
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
Σ 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 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
Σ = { 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?
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
Zwischenstand
Zwischenstand
 Formale- vs. natürliche Sprachen
 Grammatik
 Alphabet
 Buchstabe
 Wort
 ToDo  Konzepte: Automaten & Co.
Zwischenstand
Automaten
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
Gemeinsamkeiten?
Automatencharakteristika?
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
(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
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: 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.
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
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik
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.
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)
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.
Ü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.
Zustands-/Übergangsdiagramm:
Deterministischer endlicher Automat
Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
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.
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.
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 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.
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 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
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
Zwischenstand II
Grammatiken
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
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.
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
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
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
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 – von vornherein, d.h. durch die
Anzahl ihrer Zustände, beschränkt ist.
Lösung: Kellerautomat
Kellerautomat
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
Turing-Maschine
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
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 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
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
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)
Wolfram: A new kind of science
/

Weitere ähnliche Inhalte

Andere mochten auch

Chem2Market Präsentation
Chem2Market PräsentationChem2Market Präsentation
Chem2Market Präsentation
Christiane Strasse
 
Lengua y literatura
Lengua y literaturaLengua y literatura
Lengua y literatura
paginawebcovarrubias
 
Wikis
WikisWikis
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
Sympra GmbH (GPRA)
 
Vorteile Unternehmen
Vorteile UnternehmenVorteile Unternehmen
Vorteile Unternehmen
Frank Mueller
 
Astra erleben – Was dagegen?
Astra erleben – Was dagegen?Astra erleben – Was dagegen?
Astra erleben – Was dagegen?
C H
 
Vorträge Voycer auf der dmexco 2011 in Köln (CEO Michael Nenninger / Ralf Mag...
Vorträge Voycer auf der dmexco 2011 in Köln (CEO Michael Nenninger / Ralf Mag...Vorträge Voycer auf der dmexco 2011 in Köln (CEO Michael Nenninger / Ralf Mag...
Vorträge Voycer auf der dmexco 2011 in Köln (CEO Michael Nenninger / Ralf Mag...
Voycer AG
 
Strategisch-konzeptive Ausrichtung und Entwicklung des Diskurses um kulturell...
Strategisch-konzeptive Ausrichtung und Entwicklung des Diskurses um kulturell...Strategisch-konzeptive Ausrichtung und Entwicklung des Diskurses um kulturell...
Strategisch-konzeptive Ausrichtung und Entwicklung des Diskurses um kulturell...
EDUCULT
 
Strasbourg views in spanish
Strasbourg views in spanishStrasbourg views in spanish
Strasbourg views in spanish
Constantine Karatzogiannis
 
Das Portal Für-Gründer.de im Überblick
Das Portal Für-Gründer.de im ÜberblickDas Portal Für-Gründer.de im Überblick
Das Portal Für-Gründer.de im Überblick
Für-Gründer.de
 
BIT I WiSe 2014 | Basisinformationstechnologie I - 01: Grundlagen I
BIT I WiSe 2014 | Basisinformationstechnologie I - 01: Grundlagen IBIT I WiSe 2014 | Basisinformationstechnologie I - 01: Grundlagen I
BIT I WiSe 2014 | Basisinformationstechnologie I - 01: Grundlagen I
Institute for Digital Humanities, University of Cologne
 
La web como herramienta del marketing relacional
La web como herramienta del marketing relacionalLa web como herramienta del marketing relacional
La web como herramienta del marketing relacional
Alba Patricia Guzman Duque
 
Open data speed_dating_snf
Open data speed_dating_snfOpen data speed_dating_snf
Open data speed_dating_snf
Christian Gutknecht
 

Andere mochten auch (14)

Chem2Market Präsentation
Chem2Market PräsentationChem2Market Präsentation
Chem2Market Präsentation
 
Lengua y literatura
Lengua y literaturaLengua y literatura
Lengua y literatura
 
Wikis
WikisWikis
Wikis
 
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
Blogs in der internen Kommunikation Vortrag auf dem FokusTag Intranetmacher S...
 
Surah baqara 271 to 280
Surah baqara  271 to 280Surah baqara  271 to 280
Surah baqara 271 to 280
 
Vorteile Unternehmen
Vorteile UnternehmenVorteile Unternehmen
Vorteile Unternehmen
 
Astra erleben – Was dagegen?
Astra erleben – Was dagegen?Astra erleben – Was dagegen?
Astra erleben – Was dagegen?
 
Vorträge Voycer auf der dmexco 2011 in Köln (CEO Michael Nenninger / Ralf Mag...
Vorträge Voycer auf der dmexco 2011 in Köln (CEO Michael Nenninger / Ralf Mag...Vorträge Voycer auf der dmexco 2011 in Köln (CEO Michael Nenninger / Ralf Mag...
Vorträge Voycer auf der dmexco 2011 in Köln (CEO Michael Nenninger / Ralf Mag...
 
Strategisch-konzeptive Ausrichtung und Entwicklung des Diskurses um kulturell...
Strategisch-konzeptive Ausrichtung und Entwicklung des Diskurses um kulturell...Strategisch-konzeptive Ausrichtung und Entwicklung des Diskurses um kulturell...
Strategisch-konzeptive Ausrichtung und Entwicklung des Diskurses um kulturell...
 
Strasbourg views in spanish
Strasbourg views in spanishStrasbourg views in spanish
Strasbourg views in spanish
 
Das Portal Für-Gründer.de im Überblick
Das Portal Für-Gründer.de im ÜberblickDas Portal Für-Gründer.de im Überblick
Das Portal Für-Gründer.de im Überblick
 
BIT I WiSe 2014 | Basisinformationstechnologie I - 01: Grundlagen I
BIT I WiSe 2014 | Basisinformationstechnologie I - 01: Grundlagen IBIT I WiSe 2014 | Basisinformationstechnologie I - 01: Grundlagen I
BIT I WiSe 2014 | Basisinformationstechnologie I - 01: Grundlagen I
 
La web como herramienta del marketing relacional
La web como herramienta del marketing relacionalLa web como herramienta del marketing relacional
La web como herramienta del marketing relacional
 
Open data speed_dating_snf
Open data speed_dating_snfOpen data speed_dating_snf
Open data speed_dating_snf
 

Mehr von Institute for Digital Humanities, University of Cologne

Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Institute for Digital Humanities, University of Cologne
 
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Institute for Digital Humanities, University of Cologne
 
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Institute for Digital Humanities, University of Cologne
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Institute for Digital Humanities, University of Cologne
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-gamesBit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-games
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-visionBit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filterBit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationenBit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompressionBit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-webBit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-web
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-iiBit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikationBit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conwayBit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmenBit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmen
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-02_datenstrukturenBit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischungBit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischung
Institute for Digital Humanities, University of Cologne
 
Bit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblickBit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblick
Institute for Digital Humanities, University of Cologne
 
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung IIBit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Institute for Digital Humanities, University of Cologne
 
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung IBit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Institute for Digital Humanities, University of Cologne
 

Mehr von Institute for Digital Humanities, University of Cologne (20)

Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
 
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
 
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
 
Bit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-gamesBit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-games
 
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-visionBit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
 
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filterBit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
 
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationenBit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
 
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompressionBit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
 
Bit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-webBit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-web
 
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-iiBit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
 
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikationBit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
 
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conwayBit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
 
Bit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmenBit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmen
 
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-02_datenstrukturenBit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
 
Bit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischungBit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischung
 
Bit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblickBit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblick
 
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung IIBit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
 
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung IBit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
 

Bit SoSem 2014 | Basisinformationstechnologie II - 07: Theoretische Informatik

  • 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. Grillen & Co. am Aachener Weiher: Do., 26.06.2014, ~19:00 Uhr
  • 3.  Formale Sprachen  Automaten  Deterministische endliche Automaten  (Nichtdeterministische endliche Automaten)  Anwendung endlicher Automaten  Grammatiken  Kellerautomat  Turingmaschine  & Co. Themenüberblick „Theoretische Informatik“
  • 5. mov al, 61h vs. SELECT uid, name, pass, mail FROM users WHERE uid < 2
  • 9. 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.
  • 10. 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
  • 11. 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
  • 14. 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
  • 16. Σ Binärcode = {0,1} Σ Hexadezimalcode = {???}
  • 17. Σ Binärcode = { 0,1 } Σ Hexadezimalcode = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
  • 18. Wort?
  • 19. 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
  • 20. Σ = { 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?
  • 21. 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
  • 24.  Formale- vs. natürliche Sprachen  Grammatik  Alphabet  Buchstabe  Wort  ToDo  Konzepte: Automaten & Co. Zwischenstand
  • 31. 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
  • 32. (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
  • 34. Beispiel Drehkreuzautomat:  Verwendet wird das Alphabet Σ = { „Chip“, „drehen“} Endliche Automaten
  • 35. 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.
  • 36. 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
  • 39. 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.
  • 40. 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)
  • 41. 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.
  • 42. Ü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.
  • 43. Zustands-/Übergangsdiagramm: Deterministischer endlicher Automat Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  • 44. 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.
  • 45. 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.
  • 46. Fall III:  ??? Vgl.: Socher, Rolf: Theoretische Grundlagen der Informatik. München 2008, Carl Hanser Verlag. S. 19 f.
  • 47. 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.
  • 48. Beispiel: Eingabe „-153“ Ist das Eingabewort „-153“ eine korrekt geschriebene ganze Zahl? Übung
  • 49. 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
  • 50. Wie reagiert der folgende DEA auf die Eingabe „111001“? Verarbeitet der Automat die Eingabe? Übung
  • 51. Automaten  Deterministische endliche A.  [Nichtdeterministische A.] ToDo:  Grammatiken  Kellerautomat  Turingmaschine Zwischenstand II
  • 53. 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
  • 54. 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.
  • 55. 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
  • 56. 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
  • 57. 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
  • 58. Wofür der Aufwand?  Compilierung: Stellt die Eingabe ein zu akzeptierendes Programm dar? Grammatiken und die Praxis
  • 60. 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
  • 61. 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
  • 63. 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
  • 64. Turing-Maschine Abb.: Schöning, Uwe: Ideen der Informatik. München 2008, Oldenbourg Wissenschaftsverlag. S. 102.
  • 66. Zelluläre Automaten  Verknüpfung einfacher Automaten in Netzform: Conways Spiel des Lebens
  • 67. 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
  • 68. 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
  • 69. Demo: Conways Spiel des Lebens Quelle: http://www.onderstekop.nl/coding/p4_Game_of_Life_Animated_GIF_Generator
  • 71. Stephen Wolfram (*1959)   Mathematica (1988+)   Suchmaschine „Wolfram“ (2009+)   „A New Kind of Science“ (2002) Wolfram: A new kind of science
  • 72. /

Hinweis der Redaktion

  1. Theorie der formalen Sprachen & Automatentheorie  Möglichkeiten zur formalen Beschreibung und automatischen Verarbeitung von gedanklichen Gebilden Wörter Sätze Verfahrensanweisungen Hauptziel: Kommunikation zw. Mensch und Computer
  2. Compilerbau Formulierungs-aspekt: Gegenstand der Theorie der formalen Sprachen Erkennungsaspekt: Automatentheorie Grundfrage: Kann eine bestimmte Eingabe für eine Weiterverarbeitung akzeptiert werden, oder nicht?
  3. Natürliche Sprache = außerordentlich komplex Knackpunkt: Viele Äußerungen sind mehrdeutig „öffne die Tür mit dem Schlüssel“ vs. „öffne die Tür mit dem Schlüssel“ Formale Sprache = …naja, auch ziemlich komplex 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
  4. Nominalsatz: ein Satz, dessen Prädikat aus dem Hilfsverb sein (Kopula) und einem Prädikatsnomen besteht (Kopulasatz). Ein deutsches Beispiel für diesen Satztyp ist: „Hans ist Arzt.“ – „Arzt“ ist in diesem Fall das Prädikatsnomen. ein Satz, der kein Verb als Prädikat enthält
  5. Mit Hilfe dieser Regeln lassen sich grammatikalisch richtige und sinnvolle Sätze bilden, z.B. „die kleine Katze schläft“, aber auch grammatikalisch falsche, wie „das große Katze schläft“ oder grammatikalisch
  6. Formulierungsaspekt
  7. Finite State Machine (FSM):  Zustände und Zustandsübergänge der Spielwelt und der Agenten
  8. Determinismus: Die Eigenschaft deterministisch drückt aus, dass in jeder Situation die Arbeitsweise eindeutig definiert ist, d.h., entweder gibt es genau einen Folgezustand, oder der Automat stoppt vorzeitig.
  9. Eine Grammatik der Form G = {V, Σ, P, S} mit einer endlichen Menge von Produktionen wird als Chomsky-Grammatik bezeichnet Chomsky-Grammatiken lassen sich nach der Form ihrer Produktionsregeln klassifizieren und bilden die Chomsky-Hierarchie Eine Grammatik ist ein endliches Objekt, kann jedoch in der Lage sein, eine unendlich große Sprache zu definieren. Beispiel: <Nominalphrase>  <Nominalphrase><Präpositionalphrase> „Die Frau sah Hans mit einem Fernglas in dem Park in dem Park mit einem Fernglas“
  10. Zugriffsart auf Daten nach dem Keller-, Stapel- oder Stack-Prinzip (LIFO, last in first out): Information, die zuletzt in den Kellerspeicher gelegt wurde, wird beim nächsten Speicher-Lese und Speicher-Entnahmevorgang als erstes wieder ausgelesen. Informationen, die in dem Kellerspeicher eingespeichert und ausgelesen werden, sind Elemente des Kelleralphabets (muss nicht identisch mit dem Eingabealphabet sein). Abhängig vom aktuellen Zustand des Automaten und abhängig vom gelesenen Eingabezeichen und abhängig vom zuoberst im Keller liegenden Symbol, geht der Kellerautomat in einen neuen Zustand über, ersetzt zugleich das oberste Kellerzeichen durch eine Folge von Kellersymbolen.
  11. Turing-Maschine: Kellerspeicher ersetzt durch sequenziellen Speicher, angeordnet in Form eines Speicherbandes, das durch einen beweglichen Schreib-Lese-Kopf gelesen und beschrieben werden kann. Jedes Feld des Bandes ist in der Lage, ein Zeichen aus dem Arbeitsalphabet zu speichern Eine Turingmaschine besteht aus einer endlichen Steuereinheit, die von einem Band (die Eingabe) liest und darauf (Zwischenergebnisse) schreibt. Hierzu dient ein Schreib-Lese-Kopf, der auf dem Band schrittweise und wahlfrei nach links oder nach rechts bewegt werden kann. Auf dem Band kann immer nur dort etwas verändert (und gelesen) werden, wo sich der Schreib-Lese-Kopf befindet.
  12. Rekursive Kombination von basalen Produktionsregeln generiert Komplexität