Basisinformationstechnologie HK-Medien

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen (EI)
Advertisements

Seminar über Algorithmen
Vorlesung Compilertechnik Sommersemester 2008
Sortieren I - Bubblesort -
7. Automaten Ein Automat ist ein Sechstupel A= (I, O, Q, , q0, F).
Institut für Informatik Abt. Intelligente Systeme
8. Formale Sprachen und Grammatiken
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Notationen A = ist eine endliche, nichtleere menge,
Grammatiken, Definitionen
Christian Schindelhauer
Stoyan Mutafchiev Betreuer: Ilhan, Tim
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (02 – Endliche Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (03 – Nichtdeterminierte endliche Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Basisinformationstechnologie I Dozent T.Schaßan Ableitungsbaum Referentin: Munkhnast Dembereldalai.
Prolog Grundkurs WS 98/99 Christof Rumpf
Reguläre Sprachen Karin Haenelt.
Reguläre Ausdrücke Karin Haenelt
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
Parsing regulärer Ausdrücke
© Karin Haenelt 2005, Endliche Automaten: Alphabet, Zeichenreihe, Sprache, Endliche Automaten Grundlagen: Alphabet, Zeichenreihe, Sprache.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Dominic Dumrauf.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Theoretische Informatik 2
Formale Sprachen Grundbegriffe für formale Sprachen
Endliche Automaten Informatik JgSt. 13, Abitur 2009
Grenzen der Regularität
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
1936: On Computable Numbers, with an application to the
Grundlagen der Informatik - Prof. Slany 1 Grundlagen der Informatik Prof. Wolfgang SLANY.
Akzeptor & Sprache.
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Städtisches Gymnasium Beverungen Friedel Berlage
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele Beispiel 1 Konstruieren Sie für folgende Sprachen über = { a, b, c.
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
Noam CHOMSKY, Sheila GREIBACH
Noam CHOMSKY, Sheila GREIBACH
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 28.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Turing-Maschine als Akzeptor.
Mensch – Maschine - Kommunikation
Wintersemester 2005 / Vorlesung
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
7. Formale Sprachen und Grammatiken
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
 Am Ende der letzten Stunde hatten wir über die Grenzen unserer Automaten-Modell gesprochen. Dr. Lars Ettelt2  Tipp: Parkhaus.  Einfahrt erst wenn.
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
 Präsentation transkript:

Basisinformationstechnologie HK-Medien Teil 1, 15.Sitzung WS 02/03 BIT – Schaßan – WS 02/03

Beispiel 3: NEA Ein NEA, der nach den Wörtern 'web' und 'ebay' sucht. BIT – Schaßan – WS 02/03

Beispiel 3: NEA (2) BIT – Schaßan – WS 02/03

Reguläre Ausdrücke Reguläre Ausdrücke sind mit nichtdeterminis-tischen endlichen Automaten eng verwandt Sie sind eine Alternative zur NEA-Notation zur Beschreibung von Softwarekomponenten Anwendung: Bildung von Mengen von Worten x aus V und Überprüfung, ob ein Wort x' aus der Eingabe das gewünschte Format hat BIT – Schaßan – WS 02/03

Reguläre Ausdrücke (2) Mögliche Operatoren: Vereinigung L ∪ M L = {001, 10, 111} M = {ε, 001} L ∪ M = {ε, 10, 001, 111} Verkettung L.M L = {001, 10, 111} M = {ε, 001} L.M = {001, 10, 111, 001001, 10001, 111001} Kleenesche Hülle L* Menge aller Zeichenreihen, die durch Verkettung einer beliebigen Anzahl von Zeichenreihen aus L gebildet werden BIT – Schaßan – WS 02/03

Beispiel: Reguläre Ausdrücke In UNIX sind u.a. folgende RAs gebräuchlich: . ein beliebiges Zeichen [0-9] die Menge Ziffern [a-z] die Menge der Kleinbuchstaben [A-Za-z] die Menge aller Klein- und Großbuchstaben ? "null oder ein Vorkommen von " + "ein oder mehr Vorkommen von " (Road|Rd\.) findet "Road" oder "Rd." BIT – Schaßan – WS 02/03

Textmuster erkennen [0-9]+[A-Z]? [A-Z][a-z]*( [A-Z][a-z]*)* (Street|St\.|Road|Rd\.) findet amerikanische Adressen nach dem Muster "123Z Arlington Road" Welcher reguläre Ausdruck findet internationale Telefonnummern (in der Form "+LK-(0)Ort-Nr") in einem Text? \+[1-9]([0-9][0-9]?)? -\(0\)[1-9][0-9][0-9]?[1-9]? -[1-9][0-9][0-9][0-9]?[0-9]?[0-9]? BIT – Schaßan – WS 02/03

Pumping Lemma Das Pumping Lemma ist eine Methode, um heraus zu finden, ob eine Sprache regulär ist oder nicht. BIT – Schaßan – WS 02/03

Pumping Lemma für reguläre Sprachen Wenn ein genügend langes Wort einer regulären Sprache "gepumpt" wird, erhält man immer wieder ein Wort dieser Sprache. Zum "Pumpen" wird ein Teilwort y aus w durch yy ersetzt. w = xyz Ursprungswort w ' = xyyz einmal "gepumpt" w '' = xyyyz zweimal "gepumpt" Wenn das NICHT funktioniert, dann gehört das Ursprungswort nicht zur Sprache L BIT – Schaßan – WS 02/03

Pumping Lemma für reguläre Sprachen (2) Sei L eine reguläre Sprache. Dann gibt es eine Konstante n, derart dass für jede Zeichenreihe w in L mit |w | ≥ n gilt, dass wir in w drei Zeichenreihen w = xyz zerlegen können, für die gilt: y ≠ ε |xy | ≤ n Für alle k ≥ 0 gilt, dass die Zeichenreihe xy kz auch in L enthalten ist. BIT – Schaßan – WS 02/03

Beispiel: Palindrome Eine Sprache L bestehe aus allen Palindromen über das Alphabet {a ,b } Wenn Palindrome ∈ L, dann muss w = anban ebenfalls ∈ L sein. w = anban = xyz mit y ≠ ε und |xy | ≤ n ⇒ xy bestehen nur aus a's ⇒ y besteht aus mindestens einem a "gepumpt": w = xy2z = amban mit m > n ⇒ amban ∉ L, da amban kein Palindrom ist! Palindrom: symmetrisch um Mittelpunkt (ABBA) y ≠ ε |xy | ≤ n Auch keine Primzahlen! BIT – Schaßan – WS 02/03

Beispielgraph für ein PL Jede Zeichenreihe, deren Länge nicht kleiner ist als die Anzahl der Zustände, muss bewirken, dass ein Zustand zweimal durchlaufen wird. Pigeonholes BIT – Schaßan – WS 02/03

Kellerautomat Eigenschaften eines Kellerautomaten: Das Eingabeband kann sich nur in eine Richtung bewegen. Es existiert ein "Hilfsband", welches sich in beide Richtungen bewegen kann. Der Automat liest im ersten Schritt die jeweils erste Zelle beider Bänder. Als Reaktion des Automaten kann entweder das Hilfsband vorwärts bewegt und ein Zeichen in die nächste Zelle geschrieben werden oder das Symbol gelöscht und das Hilfsband eine Zelle zurück bewegt werden. BIT – Schaßan – WS 02/03

Beispiel: Kellerautomat BIT – Schaßan – WS 02/03

Kellerautomat (2) Das Hilfsband heißt auch Kellerstapel oder einfach Stapel (engl. stack ). Ein Element kann immer nur oben auf den Stapel gelegt (bzw. an das Ende des Bandes geschrieben) werden (= push ). Immer nur das oberste (letzte) Element kann wieder vom Stapel entfernt werden (= pop ). Die erste Zelle des Hilfsbandes enthält eine spezielle Kennzeichnung, um anzuzeigen, wann der Stapel leer ist. Ein Kellerautomat kann bei leerem Stapel nicht weiterarbeiten. BIT – Schaßan – WS 02/03

Kellerautomat (3) Kellerautomaten arbeiten eigentlich nicht-deterministisch, nichtdeterministische Kellerautomaten sind aber in deterministische überführbar ε-Bewegungen sind erlaubt Eine Eingabe wird genau dann erlaubt, wenn es möglich ist, eine Konfiguration zu erreichen, bei der die gesamte Eingabe gelesen wurde und der Stapel leer ist. deterministisch: wenn ein Wort in der Sprache enthalten ist, wird es, auf welchem Weg auch immer, akzeptiert Umgekehrt wird ein Wort, welches nicht in der Sprache enthalten ist, niemals akzeptiert BIT – Schaßan – WS 02/03

Kellerautomat (4) Ein Kellerautomat (=pushdown automaton, PDA) ist ein Septupel P = {Q, Σ, Γ, δ, q0, Z0, F } mit: Q Zustandsmenge, |Q | < ∞ Σ Eingabealphabet, |Σ| < ∞ Γ Stackalphabet, |Γ| < ∞ δ Übergangsfunktion (ZustandsÜF) δ(q,a,X) mit q ∈ Q, a ∈ {Σ, ε}, X ∈ Γ q0 Anfangszustand Z0 Startsymbol (für Stack) F Endzustand, F ⊆ Q Bei Schulz nur ein Sextupel, Z0 nicht angegeben BIT – Schaßan – WS 02/03

PDA-Übergangsfunktionen Die Ausgabe von δ besteht aus einer endlichen Menge von Paaren (p, γ), wobei p für den neuen Zustand und γ für die Zeichenreihe der Stack-symbole steht, die X auf dem oberen Ende des Stacks ersetzt. Wenn γ = ε, dann wird das oberste Stacksymbol wird gelöscht. (pop-Operation) Wenn γ = X, dann bleibt der Stack unverändert. Wenn γ = YZ, dann wird X durch Z ersetzt und Y zuoberst auf dem Stack abgelegt. (push-Operation) BIT – Schaßan – WS 02/03

PDA-Übergangsfunktionen (2) Da PDAs nicht-deterministisch arbeiten, kann die Ausgabe von δ eine Menge an Paaren ergeben, z.B. δ(q, a, X) = { (p, YZ), (r, ε) } Die Paare müssen dabei als Einheit betrachtet und behandelt werden. Wenn sich der PDA im Zustand q befindet, X das oberste Stacksymbol ist und die Eingabe a gelesen wird, kann in den Zustand p gewechselt und X durch YZ ersetzt werden, oder in den Zustand r gewechselt und X vom Stack entfernt werden. BIT – Schaßan – WS 02/03

Beispiel PDA: Palindrome Lwwr = { wwR | w ∈ {(0 + 1)*} } Informelle Beschreibung: Beginn im Zustand q0, der Annahme, dass die Mitte der Zeichenreihe nicht erreicht ist, d.h., dass das Ende der Zeichenreihe w, dem die Umkehrung von w folgt, noch nicht gelesen wurde. Der Automat kann Symbole lesen und auf dem Stack speichern. BIT – Schaßan – WS 02/03

Beispiel PDA: Palindrome (2) Jederzeit kann in Zustand q1 gewechselt werden, der Annahme, dass die Mitte der Zeichenreihe erreicht ist, d.h., dass das Ende von w erreicht ist. w ist dann auf dem Stack. Gleichzeitig gehen wir davon aus, dass das Ende von w noch nicht erreicht ist, d.h. der Automat behält den Zustand q0 bei und fährt fort, Eingabesymbole zu lesen und sie auf dem Stack abzulegen. BIT – Schaßan – WS 02/03

Beispiel PDA: Palindrome (3) Sobald der Zustand q1 erreicht wurde, vergleicht der Automat die Eingabesymbole mit dem obersten Symbol auf dem Stack. Stimmen die Symbole überein, dann ist das Eingabesymbol verarbeitet und das oberste Symbol wird vom Stack entfernt. Stimmen sie nicht überein, dann war die Annahme falsch, dass das Ende von w erreicht sei und w R folgt. Wenn der Stack leer ist, wurde die Eingabe w gefolgt von w R gelesen. (=akzeptiert) BIT – Schaßan – WS 02/03

Beispiel PDA: Palindrome (4) Formelle Beschreibung: P = ({q0,q1,q2},{0,1},{0,1,Z0}, δ, q0, Z0, {q2}) δ(q0, 0, Z0) = {(q0,0 Z0)}  lesen und push δ(q0, 1, Z0) = {(q0,1 Z0)} δ(q0, 0, 0) = {(q0,00)}  lesen und push δ(q0, 0, 1) = {(q0,01)} δ(q0, 1, 0) = {(q0,10)} δ(q0, 1, 1) = {(q0,11)} δ(q0, ε, Z0) = {(q1, Z0)}  Wechsel nach q1, ohne Stack δ(q0, ε, 0) = {(q1, 0)} zu verändern δ(q0, ε, 1) = {(q1, 1)} δ(q1, 0, 0) = {(q1, ε)}  lesen, vergleichen, pop δ(q1, 1, 1) = {(q1, ε)} δ(q1, ε, Z0) = {(q2, Z0)}  Z0 erreicht, akzeptiert BIT – Schaßan – WS 02/03

Beispiel PDA: Graphische Notation BIT – Schaßan – WS 02/03

Beispiel PDA : Konfigurationen BIT – Schaßan – WS 02/03

Schreibkonventionen für PDAs a, b, ... ∈ Σ p, q, ... ∈ Q w, z, ... = Zeichenreihen aus Σ X, Y, ... = Γ α, γ, ... = Zeichenreihen aus Γ BIT – Schaßan – WS 02/03

Beschreibung der Konfiguration Im Gegensatz zum endlichen Automaten, bei denen lediglich der Zustand (neben dem Ein-gabesymbol) für einen Übergang von Bedeutung ist, umfasst die Konfiguration eines PDA sowohl den Zustand als auch den Inhalt des Stacks. Die Konfiguration wird daher durch das Tripel (q, w, γ) dargestellt, wobei q für den Zustand, w für die verbleibende Eingabe, γ für den Inhalt des Stacks steht. (Das obere Ende des Stacks steht am linken Ende von γ.) BIT – Schaßan – WS 02/03

Beschreibung der Konfiguration (2) Sei P = {Q, Σ, Γ, δ, q0, Z0, F } ein PDA. Angenommen, δ(q, a, X) enthält (p, α). Dann gilt für alle Zeichenreihen w aus Σ* und β aus Γ*: (q, aw, X β) ⊢ (p, w, αβ) D.h., der Automat kann vom Zustand q in den Zustand p übergehen, indem er das Symbol a (das ε sein kann) aus der Eingabe einliest und X auf dem Stack durch α ersetzt. (Die restliche Eingabe w und der restliche Inhalt des Stacks β beinflussen die Aktion des PDA nicht!) Das Überführungszeichen mit Sternchen zur Repräsentation einer oder mehrerer Bewegungen! BIT – Schaßan – WS 02/03

Akzeptanzzustände von PDAs Es gibt zwei Ansätze, wann ein PDA eine Eingabe akzeptiert: Akzeptanz durch Endzustand Akzeptanz durch leeren Stack Zwar unterscheiden sich die Sprachen, die die jeweiligen PDAs akzeptieren, aber sie sind jeweils ineinander überführbar. BIT – Schaßan – WS 02/03

Akzeptanz durch Endzustand Sei P = {Q, Σ, Γ, δ, q0, Z0, F } ein PDA. Dann ist die Sprache L(P ), die von P durch Endzustand akzeptiert wird, {w | (q0, w, Z0) ⊢ (q, ε, β) für einen Zustand q in F und eine Stackzeichenreihe α. * p BIT – Schaßan – WS 02/03

Beispiel AdE: Palindrome Der PDA P akzeptiert eine Zeichenreihe x durch Endzustand genau dann, wenn x die Form ww R hat. Wenn x = ww R: (q0, ww R, Z0) ⊢ (q0, w R, w RZ0) ⊢ (q1, w R, w RZ0) ⊢ (q1, ε, Z0) ⊢ (q2, ε, Z0) Hier nur wenn-dann-Teil, Nur-dann-Teil weggelassen * * BIT – Schaßan – WS 02/03

Akzeptanz durch leeren Stack Sei P = {Q, Σ, Γ, δ, q0, Z0, F } ein PDA. Dann ist die Sprache N(P ), die von P durch Endzustand akzeptiert wird, {w | (q0, w, Z0) ⊢ (q, ε, ε) für einen beliebigen Zustand q. N(P) ist die Menge der Eingabezeichenreihen w, die P einlesen kann und bei der er gleichzeitig den Stack leeren kann. * BIT – Schaßan – WS 02/03

Beispiel AdE: Palindrome Der PDA P aus dem Beispiel leert den Stack nie, daher ist N(P ) = ∅ Statt δ(q1, ε, Z0) = {(q2, Z0)} muss δ(q1, ε, Z0) = {(q2, ε)} verwendet werden. Jetzt kann P das letzte Symbol vom Stack entfernen, während er akzeptiert, und L(P ) = N(P ) = Lwwr Hier nur wenn-dann-Teil, Nur-dann-Teil weggelassen BIT – Schaßan – WS 02/03

Anwendungen von PDAs Mechanische Verfahren zur Umwandlung von Sprachbeschreibungen kontextfreier Grammatiken in einen Parser (Compilerkomponenten) XML + DTDs (oder Schema)  die DTD ist im Grunde genommen eine kontextfreie Grammatik  erkennen der richtigen Klammerung BIT – Schaßan – WS 02/03

Linear beschränkte Automaten Eigenschaften eines linear beschränkten Automaten: Es gibt nur ein Band, welches sich in beide Richtungen bewegen kann. Es ist erlaubt, vom Band zu lesen als auch darauf zu schreiben. Zur "Verarbeitung" eines Eingabewortes x der Länge n darf ein LBA höchstens k *n Zellen benutzen. (k ist eine Konstante.) k*n Zellen: vgl. PDA, der auch nur eine lineare Anzahl Zellen auf dem Hilfsband hat  LBA "fährt" zwischen Eingabe und Workspace hin und her BIT – Schaßan – WS 02/03

Der "Erfinder" des Computers Alan M. Turing (1912-1954) 1936: "On Computable Numbers, With an Application to the Entscheidungsproblem" in: Proc. London Math. Soc, Ser. 2 Vol. 42, No. 1936 – 7, 230 – 265. Entschlüsselung des Codes der Enigma BIT – Schaßan – WS 02/03

Turing-Maschine Eigenschaften einer Turing-Maschine: Es gibt nur ein Band, welches sich in beide Richtungen bewegen kann. Es ist erlaubt, vom Band zu lesen als auch darauf zu schreiben. Das Eingabeband ist unendlich lang. Es enthält auf den freien Plätzen einen "blank". Der Prozessor hat zu jedem Zeitpunkt Zugriff auf den Inhalt einer Speicherzelle und weiß, in welchem Zustand er sich befindet. BIT – Schaßan – WS 02/03

Beispiel: Turing-Maschine BIT – Schaßan – WS 02/03

Turing-Maschine (2) Eine Turing-Maschine ist ein Quadrupel M = {Q, Σ, δ, q0} mit: Q Zustandsmenge, |Q | < ∞ Σ Eingabealphabet, |Σ| < ∞ δ Übergangsfunktion (ZustandsÜF) δ : Q x Σ  Q x (Σ ⋃ {L, R}) q0 Anfangszustand Delta hängt vom Zustand und der Eingabe ab Kein Endzustand!!! BIT – Schaßan – WS 02/03

Nutzen der Automaten Normalerweise werden Computer als Maschinen betrachtet, die einen Input in einen Output überführen, weniger als "Sprachakzeptoren" einer bestimmten Klasse bzw. Hierarchie. Ein Wort auf dem Eingabeband wird allerdings in ein anderes Wort transformiert. Durch solche "Worte" können Zahlen, Computerprogramme oder geradezu jede Form von wohldefinierten symbolischen Einheiten repräsentiert werden. BIT – Schaßan – WS 02/03

Literatur zu Formalen Sprachen Goos, Gerhard: Vorlesungen über Informatik. Bd. 1: Grundlagen und funktionales Programmieren. 3., überarbeitete Auflage. Springer 2000. Hopcroft, John; Motwani, Rajeev; Ullman, Jeffrey: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. 2., überarbeitete Auflage. Pearson Education 2002. http://www-db.stanford.edu/~ullman/ialc.html http://www.pearson-studium.de BIT – Schaßan – WS 02/03

Literatur zur Turing-Maschine Bolter, David: Turing's Man. Western Culture in the Computer Age. North Carolina University Press, 1984. BIT – Schaßan – WS 02/03