Sie sind auf Seite 1von 133

Theoretische Informatik II

Wintersemester 2003/4
Prof. Dr. Herbert Stoyan
Organisatorisches 2/115

ƒ Übungsbetrieb voraussichtlich ab nächster Woche


ƒ Ab Dienstag Abend: Listen für Übungsgruppen im
Erdgeschoss des blauen Hochhauses
ƒ Homepage der Übung:
http://www1.informatik.uni-erlangen.de/tree/Lehre/WS03/GS.html
ƒ Folien zur Vorlesung:
http://faui80.informatik.uni-erlangen.de/IMMD8/Lectures/TI-II/

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


Fragestellungen der Theoretischen Informatik- 3/115

ƒ Teilgebiet Berechenbarkeit, Automatentheorie


y Was ist berechenbar?
y Welche Rechner/Berechnungsmodelle sind denkbar?
y Wie kann man Berechnungsmodelle nach ihrer Leistungsfähigkeit klassifizieren?
y Welche Formulierungsmöglichkeiten gibt es für Algorithmen?
ƒ Teilgebiet Kompexitätstheorie
y Was ist praktisch berechenbar?
y Welcher Aufwand wird von bestimmten Algorithmen benötigt? (Zeit- und Speicherkomplexität)
y Wie kann man Probleme nach ihrem Lösungsaufwand klassifizieren?
y Approximierbarkeit und (beweisbare) Nichtapproximierbarkeit von Optimierungsproblemen
y Strategien gegen Ineffizienz (probabilistische Algorithmen, parametrisierte Komplexitaet)
ƒ Teilgebiet Formale Sprachen
y Wie kann die Syntax einer formalen Sprache (einer Programmiersprache) angegeben werden?
y Wie kann die Semantik einer formalen Sprache (einer Programmiersprache) angegeben
werden?
y Wie kann eine formale Sprache erkannt (verarbeitet) werden?
y wie kann eine formale Sprache produziert werden?
ƒ Teilgebiet Spezifikation/Verifikation
y Wie kann ein Programm/System formal spezifiziert werden? (mit Logik)
y Wie kann man die Korrektheit/Zuverlaessigkeit eines Programmes/Systems
beweisen/bewerten?
y Wie kann man die Termination eines Programmes beweisen?
ƒ Teilgebiet Kryptographie
y wie kann man Nachrichten/Daten besonders effizient kodieren?
y wie kann man Nachrichten/Daten besonders sicher kodieren?

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


Nutzen der Theoretischen Informatik 4/115

ƒ Formulierung und Auslotung von Konzepten


ƒ Berechenbarkeit:
y Bestimmung unlösbarer Aufgaben
y Konzeption neuartiger Rechenautomaten (und Betrachtung ihrer Eigenschaften)
y Konzeption neuartiger Algorithmenmodelle (oft problemspezifisch besser)
ƒ Komplexitätstheorie:
y Bestimmung des Rechenaufwandes von Algorithmen
à Bestimmung der Ursachen für den Aufwand
à Suche nach effizienteren Algorithmen
ƒ Formale Sprachen
à Entwicklung neuer Beschreibungskonzepte (Einfacher, präziser,verstädlicher)
ƒ Programmverifikation
à Entwickeln neuer Spezifikationssprachen
à praktische Verifikation
ƒ Kryptographie
y Entwickeln effizienter und sicherer Codierungen
ƒ Warum also Theoretische Informatik?
y wichtiger Nutzen- dauerndes Rückgrat der Informatik (nicht von Moden geschüttelt)
y Hauptunterschied in Fachkompetenz zu Selfmade Informatikern (FH!)

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


Literatur 5/115

ƒ Grundlagen
y G.Goos, Vorlesungen über Informatik Band 1, 3. Auflage, Springer
Verlag, 2000.
y Hudak, Peterson, Fasel, A Gentle Introduction to Haskell 98, Website.
ƒ Weiterführend
y Bird, Introduction to Functional Programming using Haskell,
Prentice Hall.
y Cormen, Leiserson, Rivest, Introduction to Algorithms, MIT Press.
y Schöning, Logik für Informatiker, Spektrum Akademischer Verlag.
y Teubner-Taschenbuch der Mathematik (insbes. Teil II), Teubner-
Verlag.
ƒ Umfassend
y van Leuwen, Handbook of Theoretical Computer Science,
Elsevier.

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


Informatik 6/115

Informatik: die Wissenschaft von der Modellierung, Analyse, Entwurf


und Realisierung von (technischen) Systemen zur
Informationsverarbeitung
Wissenschaft (scientia, επιστημη):
der Inbegriff des durch Forschung, Lehre und Literatur
überlieferten Wissens, im Gegensatz zu „Meinen“ und
„Fürwahrhalten“ (opinio, δοξα);
Prozess methodisch betriebener, durch Dritte nachvollziehbarer
Forschung und Erkenntnisarbeit (Brockhaus-Enzyklopädie)
Informationsverarbeitung: eigentlich die Verarbeitung beliebiger
Informationen einschließlich des Aufnehmens und Verarbeitens
sinnlicher Eindrücke durch Lebewesen
Informationsverarbeitung im engeren Sinne: Verarbeitung von
Informationen, die sich nach festgelegten Vereinbarungen und
Klassifikationen voneinander unterscheiden lassen

In der Informatik haben wir es überwiegend mit digital verschlüsselten


Informationen zu tun.

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


Wissenschaft der Informatik 7/115

ƒ Jede Wissenschaft besteht aus einer Menge von Begriffen und


behandelt Zusammenhänge zwischen diesen Begriffen
y Begriffe müssen klar verständlich sein
à sauber erklären
à weniger gut, aber am Anfang unvermeidlich: durch Gebrauch
einführen
y Zusammenhänge sind Aussagen über Begriffe, sie stellen
Beziehungen zwischen 2 oder mehr Begriffen her.

ƒ In der Informatik:
y eigenständige Begriffe, Begriffe aus Mathematik und Technik
y viele Zusammenhänge mathematisch formuliert

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


Aufbau der Vorlesung 8/115

ƒ Kapitel 1: Grundbegriffe, Systembegriff, Algorithmusbegriff


ƒ Kapitel 2: Halbgruppen, Relationen, Graphen, Anwendungen
ƒ Kapitel 3: Termalgebra
ƒ Kapitel 4: Formale Logik

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


Informatik I WS 03/04

Kapitel 1
Grundbegriffe

1.1 Signal, Datum, Information 1.4 Algorithmen


1.2 Wirklichkeit und Modell 1.5 von-Neumann-Rechner
1.3 Systeme 1.6 Semi-Thue-Systeme

Institut für Programmstrukturen und Datenorganisation (IPD) Prof. Dr. Gerhard Goos
-1.1 Signal, Datum, Information – Einleitung 10/115

ƒ Gespräch: Schallwellen zur Weitergabe


ƒ Telefon: Umwandlung dieser Schallwellen in elektromagnetische
Wellen
ƒ Beobachtung: Otto empfängt physikalische Größen
ƒ Diese ändern sich zeitlich

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


!1.1 Signale 11/115

Signal: Darstellung einer Nachricht durch zeitliche


Veränderung einer physikalischen Größe
Signalparameter: sich ändernde Eigenschaften eines Signals
Beispiel: Frequenz oder Amplitude einer Welle
Signalübertragung: Weitergabe von Nachrichten

Inschrift, Persistenz: dauerhafte Darstellung einer Nachricht


Speichermedium: physikalischer Träger der Inschrift

Informatik baut auf Signalen, Inschriften und deren Verarbeitung auf.

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


+1.1 Signale 12/115

Analoges Signal: Parameter ändert sich kontinuierlich in der Zeit


Beispiel: Messgröße eines physikalischen Prozesses

Digitales Signal: Bestimmung der Werte der Signalparameter


nur zu diskreten Zeitpunkten

Überführung von analogen in digitale Signalverläufe


y strikte Trennung hierdurch aufgeweicht
y Basis: Abtasttheorem
jede periodische Funktion der Form

a0
f (t ) =
2
∑ (a
k =0
k cos(kω0 t ) − bk sin(kω0 t ))

mit Grenzfrequenz ωg = nω0 lässt sich aus Messwerten


rekonstruieren, wenn Abtastfrequenz ≥ 2ωg (Voraussetzung
des Abtasttheorems praktisch immer gegeben)

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Nachrichten 13/115

Abstraktion: Konzentration auf bestimmte Eigenschaften


eines Signals (allgemein eines Gegenstands,
Sachverhalts)
Nachricht, Mitteilung: Abstraktion von einem Signal, einer Inschrift
Abstraktion
Inschrift Nachricht

Beispiel mehrstufiger Abstraktion: Inschrift: „Dies ist ein Satz“


ƒ 17 Zeichen (inklusive Zwischenräume)
ƒ 4 Wörter
ƒ Subjekt, Prädikat, Artikel, Objekt
ƒ Satz

Nachrichten sind Grundgegenstände der Informatik

Signale und Inschriften sind Medium zur Wiedergabe von Nachrichten

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


Abstraktion I 14/115

ƒ Sprechen über gemeinsame Eigenschaften vieler Objekte


ƒ einfacher durch Erfinden fiktiver Gegenstände (Zahl, Information,
Baum)
ƒ Betonen gemeinsamer Eigenschaften:
y für Zahl: gleiche Mächtigkeit (von Mengen von Zählzeichen)
y für Information: gleicher Inhalt (von Mitteilungen)
y für Baum: überall gleiche Teile: Wurzel, Stamm, Blätter;
ƒ schlechte Abstraktion (Tradition der Scholastik): Weglassen des
Unwichtigen; doch es gibt unendlich viele unwichtige Eigenschaften
y für Zahl: die konkreten Elemente, die konkreten Formen, Farben,
usw.
y für Information: der konkrete Ausdruck, etwa Wortwahl,
Wortfolge...
y für Baum: Zahl der Blätter, genaue Koordinate, Gewicht des
10.Blattes,..
y besser: Betonen des wenigen Wichtigen (die äquivalenten
Eigenschaften)

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


Abstraktion II 15/115

y Zählzeichen: oo, ||, ++, aa;


à Äquivalenzrelation: Anzahlgleichheit von Mengen
{O,OO}, {I,II}, {+,++},..., {{},{{}}},
à abstrakter Begriff:
◦ Zahleigenschaften von Zählzeichen: rund, blau, lang,
nebeneinander,...
◦ Eigenschaften von Zahlen: negativ, gerade, prim, Lösung
einer Gleichung

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


Abstraktion III 16/115

ƒ Verwendung einer Äquivalenzrelation


y reflexiv (Objekt ist zu sich selbst äquivalent)
y symmetrisch (wenn x zu y äquivalent, dann auch y zu x)
y transitiv (sind x und y sowie u und z äuivalent, dann auch x und z)

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


Abstraktion IV 17/115

ƒ Schritte der Abstraktion


1. Bestimmen der Äquivalenzrelation
2. Einführen invarianter Aussageformen (x~y) -> (A(x) <-> A(y))
3. Entwicklung eines Abstraktionsschemas. z.B.: A(|x|) <-> Alle y
(x~y) -> A(y)
4. sprechen über abstraktes Objekt |x|, als ob es konkret wäre
5. dessen konkrete Bezeichnung tut nichts zur Sache

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


Abstraktion V - Beispiele 18/115

Abstraktes Grundklasse Äq.rel Invarianz


Zahl Zählzeichen Anzahlgleichheit Form,Farbe,...
Mengen Gleichmächtigkeit Element individualität
Menge Aussageformen logische Äquivalenz Variablenname
Listen Elementegleichheit Position
Begriff Nominatoren Synonymität Wortwahl, Schreibweise,...
Prädikatoren Synonymität Wortwahl,...
Aussage Äusserungen über Inhaltsgleichheit Wortwahl, Wortanzahl,
Sachverhalte
Schema Handlungen Ablaufgleichheit Ort, Umstände, Datum,...

Funktion Terme Substitutionsäquival Variablennamen, gewisse


enz Postionen,...

Information Nachrichten Inhaltsgleichheit Sender, Empfänger, Formulierung,...

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


+1.1 Interpretation und Information 19/115

Information: einer Nachricht zugeordnete Bedeutung

Kontext: auch Bezugssystem: notwendiges Wissen, um


einer Nachricht Bedeutung zuzuordnen

Interpretation: Informationsgewinn aus Nachrichten

Die gleiche Nachricht wird in


verschiedenen Kontexten
verschieden interpretiert:

Beispiel: „Die Temperatur beträgt 20° C“


Vorschrift, die angegebene Zahl als Gradzahl in der
Celsius-Skala zu interpretieren.
Aber: Raumtemperatur? Oder Temperatur kalten Kaffees?

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.1 Interpretation und Information 20/115

Information: einer Nachricht zugeordnete Bedeutung

Kontext: auch Bezugssystem: notwendiges Wissen, um


einer Nachricht Bedeutung zuzuordnen

Interpretation: Informationsgewinn aus Nachrichten

Interpretationsvorschrift
Nachricht Information

Information ohne zugrundeliegende Nachricht gibt es nicht.


Dieselbe Information kann man
durch verschiedene Nachrichten darstellen.
Dieselbe Nachricht kann verschiedene Informationen darstellen.

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.1 Interpretation und Information: Beispiele 21/115

Die gleiche Nachricht wird in


verschiedenen Kontexten
verschieden interpretiert:

Beispiel: „Die Temperatur beträgt 20° C“


Vorschrift, die angegebene Zahl als Gradzahl in der
Celsius-Skala zu interpretieren.
Aber: Raumtemperatur? Oder Temperatur kalten Kaffees?

Beispiel: Interpretationen für x²


- Buchstabe x mit oberem Index 2
- Polynom mit der Unbekannten x
- Vorschrift „quadriere x“
- das Quadrat von x

Interpretationen kann man u. U. automatisch ausführen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Mehrdeutigkeiten und Inkonsistenzen 22/115

Mehrdeutige Nachricht: Nachricht besitzt im gleichen Kontext


verschiedene Interpretationen

Beispiel: „Position einer Person“


ƒ Rangstufe innerhalb einer betrieblichen Hierarchie
ƒ Ort, an dem sich die Person aufhält

Inkonsistente Nachrichten:
Nachrichten, denen sich in einem
Bezugssystem kein Sinn zuordnen läßt.

Beispiele:
ƒ „Der Strom fließt vom positiven zum negativen Pol.“
ƒ Ein Kreter sagt: „Alle Kreter lügen.“
ƒ Menge aller Mengen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Datum und Datenverarbeitung 23/115

Beobachtung: Interpretationsvorschriften sind ebenfalls Informationen

Datum: Paar (Nachricht, zugeordnete Information),


☛ bedeutungstragende Nachricht

Datenverarbeitung: bedeutungstreue Verarbeitung von Nachrichten


☛ Ergebnis besitzt Bedeutung auf Ebene der
Informationen

Beispiel: „Dies⋅ist⋅ein⋅Satz“
Alphabetisches Sortieren der Buchstaben
(Satz- und Leerzeichen kommen hinten)
Ergebnis: „aDeeiiinSsttz⋅⋅⋅“
y Interpretationsvorschrift: Menge von Zeichen
• bedeutungstreu
y Interpretationsvorschrift: deutsche Sprache
• nicht bedeutungstreu

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Von der Signal- zur Informationsverarbeitung 24/115

Eingangsdaten Informationsverarbeitung Ausgangsdaten

Transformierende Informationsverarbeitung: Eingangsdaten sind nicht


mehr im Ergebnis enthalten
Beispiel: bestimme vierte Primzahl, berechne 3+4, digitale Filter
Strukturierende Informationsverarbeitung: Eingangsdaten sind
Bestandteil des Ergebnisses
Beispiel: Zusammenfügen von Wörtern zu einem Satz
Komprimierende Informationsverarbeitung: Eingangsdaten lassen sich
aus Ergebnis rekonstruieren (mit weniger Bits codiert)
verlustfrei: Beispiele: gzip (Lempel-Ziv),
bzip2 (Burroughs-Wheeler)
verlustbehaftet: Beispiele: JPEG (DCT),
JPEG2000 (Wavelets)

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.1 Analoge und Digitale Signale 25/115

Analoges Signal: Parameter ändert sich kontinuierlich in der Zeit


Beispiel: Messgröße eines physikalischen Prozesses

Digitales Signal: Bestimmung der Werte der Signalparameter nur


zu diskreten Zeitpunkten
☛ auch daraus abgeleitete Daten und
Informationen (digitale Daten und Informationen)
Informationen)

Überführung von analogen in digitale Signalverläufe


y strikte Trennung hierdurch aufgeweicht
y Basis: Abtasttheorem

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.1 Diskussion 26/115

ƒ Quantenmechanik: auf Ebene feinster Körnigkeit sind


physikalische Prozesse diskret und unscharf

ƒ Abtasttheorem: jede periodische Funktion der Form



a
f (t ) = 0
2
∑ (a
k =0
k cos(kω0 t ) − bk sin(kω0 t ))

mit Grenzfrequenz ωg = nω0 lässt sich aus


Messwerten rekonstruieren, wenn
Abtastfrequenz ≥ 2ωg

Beispiel: Messgeräte schneiden hohe Frequenzen ab

☛ Voraussetzung des Abtasttheorems praktisch immer gegeben

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.1 Mustererkennung 27/115

Mustererkennung: bestimmt Information aus Bild, Text,


physikalischem Prozess

Beispiele:
ƒ automatische Erkennung von Postleitzahlen bei Briefverteilungszentren
ƒ Überwachung eines Roboters durch Analyse der Bilder einer Fernsehkamera
ƒ Erkennung handgeschriebener Zeichen
ƒ Spracherkennung

Charakteristikum: komplexe Überführung von Signalen in


Nachrichten und Zeichen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


+1.1 Zusammenfassung 28/115

n n
t io t io
k k
t ra t ra
s s
Signal/Inschrift Ab Nachricht Ab
•Abstraktion eines Signals
Information
Physikalische Größen
•Repräsentation einer ⊕ Interpretation einer Nachricht
Information

Kontext
Notwendiges Wissen zur
Interpretation einer Nachricht

transient
analog digital

persistent
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
-1.1 Zusammenfassung 29/115

Grundbegriffe
ƒ Signal, Inschrift: physikalische Größen
ƒ Nachricht,Information: durch Anschauung eingeführte Grundbegriffe,
Nachricht: Abstraktion dessen, was wir einem Signal oder eine
Inschrift entnehmen
Information: Bedeutung einer Nachricht (mit Bezug zu einem
Kontext)
umgekehrt: Information setzt Repräsentation (Nachricht) voraus,
damit sie verarbeitet werden kann; alle
Informationsverarbeitung ist Datenverarbeitung.

Information
Hierarchie
ƒ Hierarchie: Nachricht durch
Abstraktion
Signal, Inschrift

ƒ Abstraktion setzt Festlegung des Bezugssystems (Kontexts) voraus

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


Information I 30/115

ƒ klassisch lateinisch: in Form Gebrachtes


y ontologisch (Objekte, z.B. der Mensch)
y epistemologisch (Geist, Wissen)

ƒ Heute umgangssprachlich 2 Bedeutungen


1) Information = Datum (kann im Plural stehen)
2) Information = Inhalt einer Äußerung

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


Information II 31/115

ƒ Informatik: Abstraktion aus Nachrichten


y Inhaltsäquivalenz, Invarianz gegenüber Sender, Empfänger,
Codierung (aus Information kann Wissen enstehen)
y Interpretationsvorschrift muss gegeben sein
ƒ Informationswissenschaft: das vom Menschen in einer
Entscheidungssituation benötigte (zusätzliche) Wissen
ƒ Naturwissenschaft (z.B. Biologie)
ƒ strukturierte Objekte, bei deren Konsumtion natürliche Systeme
verschiedenes Verhalten zeigen je nach konkreter Codierung
(Beispiele: genetische Information, neuronale Information)
ƒ Philosophie: unterschiedliche Ansätze
y Information kommt nur menschlicher Kommunikation zu
(kulturalistischer Ansatz)
y 3 Grundbausteine der Welt: Materie, Energie, Information

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


Information III 32/115

ƒ Bestimmte Aspekte von Nachrichten für deren Verarbeitung wichtig:


y Typzugehörigkeit (Zahl, Text,...
y Anwendungskontext (Genauigkeit der Zahlen,
Konsumtionsweise der Ausgabe durch Anwender)
ƒ Andere Aspekte von Nachrichten für Verarbeitung unwichtig:
y Bedeutung (Geld, Temperatur, Messvorschrift, ob eingetippt oder
oder von Maschine erzeugt)
ƒ genaue elektrische Repräsentation (in milli Ampere - solange in
bestimmtem Bereich)
ƒ Konsequenz: Es gibt keine Informationsverarbeitung!
ƒ Bauer und Goos, 1973: Informationserhaltende Verarbeitung, falls
Verarbeitung funktionalen Charakter hat.

Theoretische Informatik I WS 03/04 - Prof. Dr. Herbert Stoyan 1. Grundbegriffe


1.1. Codierung von Daten 33/115

Codierung: Darstellung einer Information durch eine Nachricht

Beispiel: Darstellung der Zahl „zwei“


- Wort zwei
- Ziffer 2
- Zwei Striche: ||

Zeichen: Codierung einer Information durch eine Nachricht

Zeichenvorrat: verfügbare Menge von Zeichen (auch Code)

Wort: auch Text, Zeichenreihe: Folge von Zeichen

Symbol: Paar (Zeichen, Bedeutung)

Der Begriff Zeichen wurde von Sprachphilosophen erdacht, dort oft synonym mit Symbol
Das englische Wort token ist eine Übersetzung des deutschen Worts Zeichen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Zeichen sind Nachrichten 34/115

ƒ Zeichen werden durch Signale oder Inschriften wiedergegeben

ƒ kontextabhängige Interpretation von Zeichen

ƒ mehrdeutige Interpretation von Zeichen

ƒ inkonsistente Interpretationen

Redundante Codierung: mehrere Codes für dieselbe Information


☛ Erkennung von Fehlern und Inkonsistenzen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Binärcode 35/115

Binärcode: zweiwertige Grundmenge B ≙ {O,L}

y abstrahiert von physikalischer Repräsentation der Zeichen


y O und L heißen Binärzeichen
y Abbildung Signal ↦ B ist kontextabhängig

Bit: Größe, die ein Wert aus B annehmen kann

y auch als Längeneinheit für Zeichenreihen über B


y Datenübertragungsraten Bit/sec

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Codierung ganzer Zahlen 36/115

Binär codierte Dezimalzahlen: (BCD: binary coded decimal )


Codieren einzelner Dezimalziffern
☛ Rechnen im Dezimalsystem

Beispiel: Darstellung von z=295: z = OOLO LOOL OLOL


n −1
Binärdarstellung ganzer Zahlen: z = ∑ zi ⋅ 2 i
i =0

in Rechnern und Programmiersprachen


ist n fest
Langzahlarithmetik: n unbeschränkt
keine negativen Zahlen
☛ Rechnen im Binärsystem
Darstellung im Oktalsystem: Basis 8
oder im Sedezimalsystem: Basis 16, Darstellung der Zahlen 10-15:
A≙10, B≙11, C≙12, D≙13, E≙14, F≙15

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Codierung ganzer Zahlen 37/115

Dualzahldarstellung mit den Fingern:


y gestreckter Finger ≙ 1
y Gebogener Finger ≙ 0 41
+0
11
jedem Finger wird ein Stellenwert =2
5
zugeordnet.

4+2=6 1102

4
256128 64 8 2
32 16
512 1
4+2+1=7 1112

Mit beiden Händen sind 210 = 1024


duale Zahlen darstellbar 16+8+1=25 110012

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Codierung ganzer Zahlen: negative Zahlen 38/115

n −1
Einerkomplement: invertiert jedes Bit: − z = 2 − 1 − z = ∑ (1 − zi ) ⋅ 2i
n

i =0


n −
+ =
1
0 0 ⋅ 2 i
i = 0


n − 1
− 0 = i = 0
1 ⋅ 2 i

n −1

Zweierkomplement: − z = 2 − z = 1 + ∑ (1 − zi ) ⋅ 2i
n

i =0

darstellbarer Zahlenbereich mit n+1 Bits: -2n ≤ z ≤ 2n -1


n und daher darstellbarer Zahlenbereich beliebig

Vorzeichen und Betrag: − z = ( L, z )

Beispiel: Binärzahl: 0100110 (dezimal : 38)


Einerkomplement: 1011001
Zweierkomplement: 1011010 (dezimal : -38)
Vorzeichen und Betrag: 1100110 (dezimal : -38)

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Codierung ganzer Zahlen 39/115

Beispiel:
9
z 2 = 1010011010 2 = ∑ zi 2i = 1 ⋅ 29 + 1 ⋅ 27 + 1 ⋅ 2 4 + 1 ⋅ 23 + 1 ⋅ 21 = 66610
i =1

Konvertierung ganzer Zahlen:

Rechnen im Quellsystem: (Zielbasis BZ und Zahl Z im Quellsystem)

Beispiel: 102010 (dezimal) im Oktalsystem darstellen:

1020 : 8 = 127 Rest 4


127 : 8 = 15 Rest 7
15 :8=1 Rest 7
1 :8=0 Rest 1

☛ 102010 = 17748

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Codierung ganzer Zahlen 40/115

Konvertierung ganzer Zahlen:


Rechnen im Zielsystem: (Zielsystem ist Dezimalsystem)

Beispiel: 11000112 dezimal darstellen:

Quellziffer 1 1 0 0 0 1 1
zu addieren - 2 6 12 24 48 98
Quellbasis ⋅2 ⋅2 ⋅2 ⋅2 ⋅2 ⋅2
Stellensumme 1 3 6 12 24 49 99
(nach Hornerschema)

Hornerschema: neues Ergebnis ≔ altes Ergebnis ⋅ Basis + Ziffer


hier: (((((1 ⋅2 +1) ⋅2 +0) ⋅2 +0) ⋅2 +0) ⋅2 +1) ⋅2 +1
die Lösung ist 9910

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Codierung von (Dezimal-)Brüchen 41/115

Konvertierung von Dezimalbrüchen:


y Umwandlung nicht immer exakt möglich
y Rechnen im Quellsystem:
Beispiel: 0,3510 im Dualsystem darstellen:
Schritt Operation Zwischenergebnis notiere
1 0,35 ⋅ 2 0,70 0
2 0,70 ⋅ 2 1,40 1
3 0,40 ⋅ 2 0,80 0
4 0,80 ⋅ 2 1,60 1
5 0,60 ⋅ 2 1,20 1
6 0,20 ⋅ 2 0,40 0
- Abbruch - -
☛ das Ergebnis ist 0,010110…2. Es setzt sich aus den notierten
Ziffern von oben nach unten zusammen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Codierung von Dual-Brüchen 42/115

Konvertierung von Dualbrüchen:


Rechnen im Zielsystem: (Zielsystem ist Dezimalsystem)

Beispiel: 0,1001012 dezimal darstellen:


In umgekehrter Ziffernreihenfolge ergibt sich:

Quellziffer 1 0 1 0 0 1 0
zu addieren - 0,5 0,25 0,625 0,3125 0,078125 0,5390625
Quellbasis ÷2 ÷2 ÷2 ÷2 ÷2 ÷2
Stellensumme 1 0,5 1,25 0,625 0,15625 1,078125 0,5390625

☛ Ergebnis: 0,5390625

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Rechnen im Dualsystem 43/115

Rechenregeln des Dezimalsystems lassen sich prinzipiell unverändert


auf Dualsystem übertragen: Beispiele:
1. Addition
Operation Ergebnis Übertrag auf
nächsthöhere 10102 = 1010
Stelle + 10112 = +1110
0+0 0 0 (Übertrag)1 01
0+1 1 0 101012 = 2110
1+0 1 0 2. Subtraktion
1+1 0 1 = Übertragsbit 11012 = 1310
0-0 0 0 - 10102 = - 1010
0-1 1 1 = „Borgbit“ (Borgen) 1
1-0 1 0 00112 = 310
1-1 0 0 3. Multiplikation
0*0 0 0 1102 x 1012 = 610 x 510
0*1 0 0 1102
1*0 0 0 02
1*1 1 0 1102
111102 = 3010
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.1 Rechnen im Dualsystem 44/115

4.Division
Beispiel: 1000012 : 1102 = 0101,12 3310 : 610 = 5,510
100001 : 110 = 0101,1
100 = 410
-110 x0 = -0x610
1000 = 410 -> *2+0 = 810
- 110 x1 = -1x610
00100 = 210 -> *2+0 = 410
- 110 x0 = -0x610
1001 = 410 -> *2+1 = 910
- 110 x1 = -1x610
0011,0 , = 310 -> *2+0 = 610
- 11 0 x1 = -1x610
0 = 010
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.1 Darstellung reeller Zahlen 45/115

z = ∑i = − c z i ⋅ 2 i
d −1
Festkommadarstellung:
y komplette Menge der reellen Zahlen kann nicht durch endliche
Zeichenreihen über B dargestellt werden
y Anwendung bei Prozeßsteuerungen zur Geschwindigkeitssteigerung

Gleitkommadarstellung:
z = m ⋅ be b, e ganzzahlig, b ≥ 2, 0 ≤ m < b.
y m heißt Mantisse, e heißt Exponent, b heißt Basis
y 3.14159, 0.314159E1, 0.0314159E2 (typisch für Programmiersprachen)
y im Rechner: m, e sind binär codiert, b = 2

Normalisierte Gleitkommadarstellung: 1 ≤ m < b oder m=0, falls z=0


☛ in Binärdarstellung ist erstes Bit von m gleich L

Gleitkommadarstellung 1937 von Konrad Zuse erfunden

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Gleitkommazahlen nach IEEE 754-1985 46/115

Einfache Länge: Doppelte Länge:


1 8 23 1 11 52
S E M S E M
Vorzei- Exponent Mantisse Vorzei- Exponent Mantisse
chen (verschoben) (gekappt) chen (verschoben) (gekappt)

ƒ Exponent: e = E - 127 bzw. E – 1023

ƒ 1 ≤ m < 2 ☛ erstes Bit in Mantisse ist implizit und immer 1

ƒ Null: e = 0, m = 0
☛ positive und negative Null

ƒ Unendlich: e = 255 und m = 0 sonst keine Zahl mit s = 255


☛ nicht alle Bitfolgen entsprechen Zahlen: NaN (Not a Number)

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Gleitkommazahlen nach IEEE 754-1985 47/115

1 8 23 1 11 52
S E M S E M
Vorzei- Exponent Mantisse Vorzei- Exponent Mantisse
chen (verschoben) (gekappt) chen (verschoben) (gekappt)

ƒ 1.0 ≙ 0 01111111 00000000000000000000000


0.5 ≙ 0 01111110 00000000000000000000000

ƒ Rechnen: z1 = m1⋅2e1, z2 = m2⋅2e2


z1 ± z 2 = normalisiere (m1 ± m2 ⋅ 2e2 – e1) ⋅ 2e1
z1 ⋅ z2 = normalisiere (m1 ⋅ m2) ⋅ 2e1 + e2
z1 ÷ z 2 = normalisiere (m1 ÷ m2) ⋅ 2e1 – e2

Überlauf: zu großer Exponent


Unterlauf: zu kleiner Exponent
Rundungsfehler: Fehler durch Runden der Mantisse

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Entscheidungsgehalt 48/115

Entscheidungsgehalt eines Zeichenvorrats mit n Zeichen:


Kleinste Anzahl H von Entscheidungen, mit denen festgestellt werden
kann, welches Zeichen vorliegt.
y H = 1 für n = 2, sonst H ≤ ld(n) (ld: logarithmus dualis)
y Maßeinheit: bits (kleines b!)

Beispiel: Entscheidungsgehalt eines Zeichenvorrats mit 2 Zeichen


☛ H = 1 bit
Shannonsche Informationstheorie: (Shannon, 1916 - 2001)
ƒ Ziel: minimaler Übertragungsaufwand für codiertes Wort c(w)
y Mitübertragung der Codierungsvorschrift w, oder
y minimiere Erwartungswert der Länge von c(w) zu vorgegebener Menge
von Wörtern M

m
ƒ Information (Entropie, Unsicherheit): H ( p ) = − p ⋅ ld( p ) [bit]
i =1 i i

mit Wahrscheinlichkeitsverteilung p = (p1, p2, …, pm)

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Huffman Codes 49/115

D.A. Huffman, 1925-1999

ƒ Gegeben Zeichenvorrat ∑={z1,…,zn} und Wahrscheinlichkeiten des Auftretens


p(zi)=pi, wobei ∑i =1 pi = 1
n

ƒ Gesucht: Codierung der Zeichen mit minimaler Länge c(w) von Wörtern w
ƒ algorithmische Lösung:
y Ordne Zeichen nach fallender Wahrscheinlichkeit an: p1≥p2≥…≥pn
y Fasse die Zeichen zn-1, zn zu neuem Zeichen z’ mit p’=pn-1+pn zusammen
und ordne z’ entsprechend p’ in die Ordnung ein.
Ergebnis: Zeichenvorrat mit einem Zeichen weniger.
y Wiederhole den vorangehenden Schritt, bis nur ein Zeichen mit p1=1 übrig
ist.
y Konstruiere „Codebaum“:
p’
O L
pn-1 pn
y Repräsentiere jedes Zeichen durch die Folge der O bzw. L von der
Baumwurzel zum Zeichen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Huffman Codes 50/115

Beispiel: englische Sprache

E LOO S OLLO U OOOLO K LLOLOOOLL


T OOL H OLOL G OOOOL X LLOLOOOOL
A LLLL D LLOLL Y OOOOO J LLOLOOOOO
O LLLO L OLLLL P LLOLOL Q LLOLOOOLOL
N LLOO F OLOOL W OLLLOL Z LLOLOOOLOO
R LOLL C OLOOO B OLLLOO
I LOLO M OOOLL V LLOLOOL

3 4 5 9
4 5 6 10
7

Präfixcode: Kein Wort des Codes ist Anfang eines anderen Codes
Beispiele: Huffmancode, Morsecode

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Alphabete 51/115

Alphabet: geordneter Zeichenvorrat


Beispiele: lateinisches, arabisches, griechisches, hebräisches,
kyrillisches Alphabet
Codierung:

ISO 8859-15:

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Wissen 52/115

Wissen: Informationen, wie Daten interpretiert werden

Faktenwissen: Kenntnis der durch Datum gegebenen


Information

Prozedurales Wissen: Kenntnis von Interpretationsvorschriften zur


Erzeugung von Informationen
(synthetisches Wissen)

Beispiele: ☛ Multiplikationstabellen sind Faktenwissen


☛ Herleitung eines Multiplikationsergebnisses ist
prozedurales Wissen

Informatiker müssen mit beiden Arten von Wissen umgehen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 statisches vs. dynamisches Wissen 53/115

Statisches Wissen: beschreibt zeitlich unveränderliche Gegenstände


oder Sachverhalte
☛ Zeit kann hinzugefügt werden
☛ auch Gesamtwissen über Ablauf ist statisches
Wissen
Beispiel: Beschreibung durch Differentialgleichung

Mathematik dient der Modellbildung statischen Wissens

Dynamisches Wissen: beschreibt zeitlich veränderliche Gegenstände


oder Sachverhalte
Beispiel: Folge von statischen Kenntnissen (diskretes
dynamisches Wissen)
Zustand: Elemente dieser Folge
☛ Zeitlich veränderliche Eigensch. eines Objekts
☛ Zentral in Natur- und Ingenieurwissenschaften
Informatik dient der Modellbildung dynamischen Wissens
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.1 Granularität des Wissens 54/115

ƒ Begriff Haus umfaßt nicht jede Schraube und Installation im Haus

Informatiker dürfen sich nicht in Einzelheiten verirren

☛ grobkörnige Darstellung des Wissens


☛ feinkörnige Darstellung der Bestandteile einer grobkörnigeren
Darstellung bei Bedarf

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Ungenaues und unsicheres Wissen 55/115

Beispiel: der Sorites (Eubulides von Milet, ca. 400 v. Chr.)


Definition eines Sandhaufens:
☛ mindestens 10000 Körner?
Aber: Was passiert, wenn wir 1 Sandkorn wegnehmen?

Beispiel: Länge eines Holzbalkens


beliebig genau angebbar?

Ungenaues Wissen: nicht exaktes Wissen

Unsicheres Wissen: exaktes Wissen möglich, aber nicht bekannt

Unscharfes Wissen: ungenaues oder unsicheres Wissen, Unschärfe


quantifiziert

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.1 Semiotik: Syntax, Semantik und Pragmatik 56/115

Interpretation: Setzt Daten untereinander und mit


Gegenständen anderer Wissensgebiete in
Beziehung
Ziel: Wissensgewinn über Gegenstände in
anderen Wissensgebieten
Syntax: Beziehungen, die sich aus Anordnung der
Zeichen ergeben
Beispiel „das Haus": Folge von 7 Buchstaben und einem Zwischenraum
Semantik: Beziehungen, die sich aus der
Interpretationsvorschrift ergeben
Beispiel „das Haus": Zwischenraum trennt Wörter; also zwei Wörter
Pragmatik: Beziehungen zwischen Daten und
Gegenständen bzw. Sachverhalten außerhalb
der Datenmenge
Beispiel „das Haus": Begriff für einen Gegenstand der realen Welt
Semiotik: Besteht aus Syntax, Semantik, Pragmatik

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.2 Modell und Wirklichkeit– Einleitung 57/115

1. Die Welt ist alles, was der Fall ist.


1.1 Die Welt ist die Gesamtheit der Tatsachen, nicht der Dinge
2. Was der Fall ist, die Tatsache, ist das Bestehen von
Sachverhalten.
3. Das logische Bild der Tatsachen ist der Gedanke.
3.0.1 Die Gesamtheit der Gedanken sind ein Bild der Welt
(aus Wittgenstein: Tractatus logico-philosophicus)

Wirklichkeit: Dinge, Personen, Abläufe in der Zeit, Beziehungen


zwischen diesen Gegenständen (Tatsache)
Modell: Begriffe von Dingen, Personen, Abläufen in gedachter
Zeit, Beziehungen zwischen diesen Begriffe (logisch
mögliche Sachverhalte)

Modellbildung ist zentrale Aufgabe von Informatikern

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.2 Beziehung zwischen Wirklichkeit und Modell 58/115

fM
M M

i i

W fW
W

ƒ i ordnet wirklichen Gegenständen/Sachverhalten in W Begriff in M zu


ƒ fM ist beliebige Beziehung zwischen Begriffen
ƒ fW ist reale Beziehung
ƒ Diagramm: fM ± i = i ± fW
ƒ Übergang zur Modellwelt kann aus mehreren Schritten bestehen
ƒ Modell ist wahr, wenn das Diagramm kommutiert

Modelle dienen der Gewinnung neuer Einsichten über die Wirklichkeit

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.2 Beispiel: Garten gießen 59/115

ƒ Garten gießen, wenn nach Modellwelt zu trocken


ƒ Garten gießen überführt trockenen Zustand in weniger trockenen
Zustand
ƒ Nach 20 Minuten gießen kommt Gärtner zum Schluß, daß
erwünschter Zustand des Gartenbodens erreicht ist

ƒ Regelkreis:
Prozeß Gießen

Regelstrecke
Regelgröße Stellgröße
Feuchtigkeit Wasserzufuhr
Regler

Ist das Modell wahr?

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.3 Steuerung und Regelung I 60/115

Definition Steuerung:
Die Steuerung ist ein Vorgang in einem abgegrenzten System, bei
dem eine oder mehrere Eingangsgrößen Ausgangsgrößen aufgrund
systemeigener Gesetzmäßigkeiten beeinflussen.

Eigenschaften der Steuerung:


y keine Rückkopplung
y keine Korrekturmöglichkeiten
y Störungen führen zu Abweichungen

Beispiel: Die Sonne steuert das Wachstum der Pflanzen.

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.3 Steuerung und Regelung II 61/115

Definition Regelung:
technischer Vorgang in einem abgegrenztem System, bei dem
technische oder physikalische Regelgröße (Istwert) fortlaufend erfaßt
und durch Vergleich mit der Führungsgröße (Sollwert) im Sinne einer
Angleichung beeinflußt wird.

Eigenschaften der Regelung:


y Rückkopplung durch Soll- Ist- Wert Vergleich
y Störungen können sofort erkannt werden
y Regelgröße wird nachgeregelt
☛ Störungen bewirken keine Abweichungen

Beispiel: Der Polizist regelt den Verkehr.

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.2 Validierung und Verifikation 62/115

Validierung: Überprüfung des Wahrheitsgehalts eines Modells


☛ logische Schlüsse helfen nicht
☛ nur experimentell und manuell möglich

Verifikation: Validierung, wenn Wirklichkeit selbst Modellwelt ist (z.B.


Mathematik)
☛ Wirklichkeit heißt dann Spezifikation
☛ Wahrheitsgehalt durch logische Schlüsse überprüfbar
☛ oft erst nach entsprechender Strukturierung von
Spezifikation und Modell möglich
☛ oft: Zwischenschritte für Modellkonstruktion

Beachte: Modelle können Wirklichkeit verändern


Beispiel: Telefon, Internet

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.2 Die Verantwortung eines Informatikers 63/115

ƒ Informatiker erstellen Modelle


ƒ Modell kann schrittweise technisch interpretiert werden
Verantwortung für sämtliche Interpretationsschritte beim
Informatiker

ƒ Modelle geben nur Ausschnitt aus Wirklichkeit wieder


☛ es gibt unzulässige Schlußfolgerungen
Verantwortung für die Festlegung zulässiger
Schlußfolgerungen beim Informatiker

ƒ Einige Modelle greifen regelnd und steuernd in Wirklichkeit ein


Verantwortung für Konsequenzen beim Informatiker

ƒ Modelle sind nicht a priori gut oder schlecht, sondern was daraus
gemacht wird
Verantwortung des Informatikers für beide Gesichtspunkte

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.3 Systeme – Einleitung 64/115

System: Kollektion von Gegenständen,


☛ die in einem inneren Zusammenhang stehen,
☛ samt Beziehungen zwischen diesen
Gegenständen

Komponente/Baustein: Gegenstände

Systemeigenschaften: Systeme sind in Umgebung eingebettet


(außer vielleicht das Weltall)
☛ es gibt eine Systemgrenze

Schnittstelle: Systemgrenze, Bausteingrenze und


Beziehungen über diese Grenze

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.3 Systeme – Einleitung 65/115

Abgeschlossenes
System: Bausteine haben keine Beziehung über
Systemgrenze hinaus

Offenes System: Bausteine haben Beziehungen über


Systemgrenze hinaus
☛ Zugehörigkeit von Bausteinen kann wechseln
☛ aus wissenschaftlicher Sicht sind
abgeschlossene Systeme Idealisierungen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.3 Eigenschaften von Systemen 66/115

Statisches System: zeitlich unveränderlich


☛ Idealisierung (im gegebenen Zusammenhang
unwichtig)
Dynamisches System: zeitlich veränderlich
☛ Beziehungen zwischen Komponenten
☛ Verschiebung der Systemgrenze
☛ Entfernen oder Hinzufügen von Komponenten
☛ Änderung der Eigenschaften von Komponenten
Zustand: vorhandene Komponenten und deren
Eigenschaften und Beziehungen zu einem
bestimmten Zeitpunkt
Verhalten des Systems: zeitliche Abfolge von Zuständen
Deterministisches S.: Vergangenheit des Systems legt eindeutig die
Zukunft fest
Indeterministisches S.: Zukunft nicht festgelegt
☛ unbekannte oder nicht zum System gehörende
Einflussgrößen
☛ meist bei offenen dynamischen Systemen
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.3 Organisation von Systemen 67/115

Komponenten eines Systems können selbst Systeme sein (Teilsystem)


☛ rekursiver Begriff
y Teilsystem als schwarzer Kasten: nur Zustände der Teilsysteme
als Ganzes für Verständnis des Gesamtsystems ausreichend
y Teilsystem als weißer Kasten: Beziehungen und zeitliche
Änderungen innerhalb der Teilsysteme für Verständnis des
Gesamtsystems notwendig

Natürliche Systeme: existierendes System


☛ Wissenschaften analysieren und
modellieren natürliche Systeme
Ziel: Erklärung des beobachtbaren Verhaltens

Künstliche Systeme: (auch Artefakte) Modelle für natürliche


Systeme

Beispiel: wirtschaftliche Organisationen, technische Systeme

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.3 Aufgaben von Informatiksystemen 68/115

Berechnung von Funktionen, Algorithmus: berechne f : A → B


Prozeßüberwachung:

a
endlos laufendes
Prozeß
System
b
b hängt von a und der Systemhistorie ab

Eingebettetes System: löst Aufgaben im Verbund mit


Systemkomponenten, die nicht der
Datenverarbeitung dienen

Adaptives System: eingebettetes System, das sich Veränderungen


der Wirklichkeit anpasst
☛ auch durch das System selbst hervorgerufene

Reaktives System: Prozessüberwachung, eingebettetes oder


adaptives System

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.3 Konstruktion von Informatiksystemen 69/115

Ziel: Modellierung der Wirklichkeit und deren Umsetzung als


künstliches Modellsystem
Validierung des Modellsystems
prüft, ob Modellsystem wirklichkeitsgetreu und Systemziele erfüllt
Direkter Weg: mathematische Hilfsmittel, Hilfsmittel der theoretischen
Informatik
Simulation: realisiert System mit Rechnerunterstützung soweit,
dass Aussagen überprüfbar
Beispiel: Einhaltung von Zeitbedingungen, Simulation von
Schaltkreisentwürfen, typische Datenbankanfragen,
Wettervorhersage
Prototyp: realisiert funktionale Beziehung zwischen
Systemkomponenten und Umgebung
Beispiel: Benutzeroberfläche

☛ nur Verhalten von Systemen wird validiert

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.3 Methodik zur Konstruktion von neuen Systemen 70/115

ƒ Analyse geht der Konstruktion eines neuen Systems voran


ƒ neues System mit anderen Eigenschaften als ursprüngliches System

Ist-Analyse: Analyse des ursprünglichen Systems


☛ ermittelt unbedingt notwendige Eigenschaften des
neuen Systems

Soll-Analyse: legt neue und veränderte Eigenschaften fest


☛ neues System ist Artefakt
☛ nur als schwarzer Kasten in seine Umgebung
eingebettet
☛ Schnittstelle zur Umgebung ist festgelegt

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.3 Realisierung von Informatiksystemen 71/115

1. Entwurf des inneren Aufbau des Systems:


Komponenten, Beziehungen zwischen diesen sowie der
Umgebung, Zustände, Zustandsübergänge
2. rekursiver Entwurf der Teilsysteme (falls notwendig)
3. Festlegung der Verfahren zur Realisierung der Komponenten und
ihrer Beziehungen
4. Konstruktion der Komponenten und Funktionen, die das
Zusammenspiel regeln
5. Integration aller Komponenten und Funktionen
6. Integration des Systems in seine Umgebung

ƒ jeder Schritt wird validiert


ƒ Kostenschätzung und Zeitplanung für Gesamtprojekt und
Einzelschritte

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.3 Abstraktionsebenen von Informatiksystemen 72/115

Problem
Validierung Problemanalyse

Spezifikation
Verifikation Algorithmenentwurf
Algorithmen
Test Programmierung
Programm

Übersetzung
Maschine
Ausführung
Lösung

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.4 Algorithmen 73/115

Realisierungsarten für Funktionen f : A ↦ B


Statisch: (auch deklarativ)
f (a) = …
g(a, b) = 0, falls f (a) = b

Tabellarisch: A a1 a2 a3 … an-1 an
f(a1) f(a2) f(a3) … f(an-1) f(an)

Algorithmisch: (auch operativ, prozedural, synthetisch)


Beschreibung zur Berechnung des Ergebnisses für
beliebige Argumente a
in beliebiger Sprache
Codierung in endlicher Länge
Folge von endlich vielen elementaren Operationen
Algorithmus: eine solche Beschreibung
benannt nach Mohamed Ibn Mus Alchwarizimi, ? - 846,
schrieb erstes Lehrbuch der Algebra
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.4 Der Begriff „Algorithmus“ 74/115

ƒ Definition Algorithmus:
ein Algorithmus ist ein Verfahren
y mit einer präzisen endlichen Beschreibung
y unter Verwendung effektiver Verarbeitungsschritte

ƒ Algorithmen lösen i.d.R. eine Klasse von Aufgaben


y die spezielle aus der Klasse zu bearbeitende Aufgabe wird
durch Parameter bestimmt

ƒ Parameter sind die Eingabe des Algorithmus

ƒ das zu der Eingabe gelieferte Resultat ist die Ausgabe des


Algorithmus

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.4 Sichten auf einen Algorithmus 75/115

Funktionale Sicht: die Aufgabenstellung, die durch einen


Algorithmus bewältigt werden soll

Operationelle Sicht: die spezielle Art und Weise, wie die Aufgabe
bewältigt wird
☛ elementare Verarbeitungsschritte, die im
Algorithmus auftreten
☛ Beschreibung der Auswahl (Ablaufsteuerung)
der einzelnen, auszuführenden Schritte
☛ Daten und Parameter, die durch den
Algorithmus bearbeitet werden

Für eine algorithmisch lösbare Aufgabenstellung (☛ funktionale Sicht)


existieren viele unterschiedliche Lösungswege (☛ operationale Sicht)
Deshalb: Unterscheide Spezifikation einer Aufgabe von der
(algorithmischen) Lösung der Aufgabe!

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.4 Beispiel: Kefirkaltschale 76/115

Zutaten für 4 Portionen ZUBEREITUNG


ƒ Kefir in eine Schüssel gegeben und glatt rühren.
ƒ 1l Kefir Danach Kefir in den Kühlschrank, solange die
ƒ 1/2 St Salatgurke anderen Zutaten bearbeitet werden.
ƒ 2 St Paprikaschoten ƒ Gurke schälen und längs halbieren. Kerne mit
einem Löffel aus dem Inneren herauskratzen und
(eine gelbe und eine rote) die Gurke in kleine Würfel schneiden.
ƒ 1 St Möhre ƒ Paprikaschoten waschen und entkernen. Auch
ƒ 1/2 Bund Petersilie hier Fleisch in kleine Würfel schneiden. Möhren
ƒ 1 Prise Salz nach dem Schälen ebenso würfeln.
ƒ 1 Prise Zucker ƒ Petersilie waschen und ganz fein hacken. Mit den
ƒ 1 Prise Cayennepfeffer Gemüsewürfeln (bis auf einen kleinen Rest) unter
den Kefir rühren. Masse mit Salz, Pfeffer und
ƒ etwas Dill
einer Prise Zucker abschmecken und in Teller
füllen.
ƒ Kaltschale mit den restlichen Gemüsewürfeln und
den Dillzweigen garnieren und mit Cayennepfeffer
bestreuen. Kalt servieren.

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.4 Informelle Algorithmenbeschreibung: Euklid 77/115

ƒ Aufgabenstellung:
y Gegeben seien zwei ganze Zahlen a, b mit a>0 und b>0
y Gesucht ist der größte gemeinsame Teiler ggT(a,b) der beiden
Zahlen a und b

ƒ Der Algorithmus zur Berechnung von ggT(a,b) nach Euklid lautet:


(1) falls a=b, dann gilt: ggT (a,b) = a;
(2) falls a<b, dann wende den Algorithmus ggT auf (a, b-a) an;
(3) falls b<a, dann wende den Algorithmus ggT auf (a-b,b) an.

ƒ Analyse von Eigenschaften des Algorithmus


y elementare Verarbeitungsschritte: „-“, „<“, „=“
y für ungleiche negative Eingabezahlen terminiert der Algorithmus
nicht
y der Algorithmus ist deterministisch

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.4 Informelle Algorithmenbeschreibung: Sortieren 78/115

ƒ Aufgabenstellung:
einen gegebenen Stapel x von Karteikarten sortieren

ƒ Algorithmus I: Sortieren durch Vertauschen


(1) Enthält x zwei aufeinanderfolgende Karten in falscher
Reihenfolge, so werden die beiden Karten vertauscht
(2) Der Algorithmus wird solange angewendet, bis x keine zwei
aufeinanderfolgende Karten in falscher Reihenfolge mehr enthält

ƒ Algorithmus II: Sortieren durch Einsortieren


Ein Stapel x wird in einen (sortierten) Stapel y durch folgende
Vorschrift einsortiert:
(1) Ist x leer, so ist y der gesuchte sortierte Stapel
(2) Ist x nicht leer, so wird eine beliebige Karteikarte aus x
ausgewählt und in y einsortiert. Der Algorithmus wird danach auf
den verkleinerten Stapel x und den vergrößerten Stapel y
angewandt.

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.4 Reihenfolge und Ausführungsbedingungen 79/115

Sequentielle Ausführung: Operationen werden nacheinander


ausgeführt
☛ bei kausaler Abhängigkeit zwischen
Tätigkeiten oder Verwendung gleicher
Ressourcen
Parallele Ausführung: (auch kollaterale Ausführung)
Operationen werden gleichzeitig
ausgeführt bzw. können zeitlich
verzahnt ausgeführt werden
☛ keine Abhängigkeiten zwischen
Tätigkeiten
Parallelitätsschranke: Zeitpunkt, an dem parallele Tätigkeiten
beendet sein müssen
(Schrankensynchronisierung, engl. barrier synchronization)

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.4 Reihenfolge und Ausführungsbedingungen 80/115

Bedingte Ausführung: Tätigkeit wird nur ausgeführt, wenn bestimmte


Bedingung erfüllt ist

Wiederholung/Schleife: Tätigkeit wird wiederholt solange bis eine


Bedingung erfüllt oder nicht erfüllt ist

Unterprogramme: führe Tätigkeit aus, die woanders beschrieben ist


☛ benutzt Ergebnis
☛ Parameter sind möglich

Sequentielle Ausführung

Parallele Ausführung: führe mehrere Tätigkeit gleichzeitig oder zeitlich


verzahnt aus
(mit oder ohne Endesynchronisierung)

Das sind alle denkbaren Alternativen zur Definition zeitlicher Abläufe

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.4 Eigenschaften und typische Beschreibungselemente 81/115
ƒ Ein Algorithmus heißt für eine Eingabe
terminierend: wenn er stets nach endlich vielen Schritten endet
deterministisch: wenn der nächste auszuführende
Verarbeitungsschritte immer eindeutig
festgelegt ist
determiniert: wenn das Resultat des Algorithmus eindeutig
bestimmt ist
sequentiell: wenn die Verarbeitungsschritte stets
hintereinander ausgeführt werden
parallel: wenn gewisse Verarbeitungsschritte
nebeneinander ausgeführt werden

ƒ Elemente zur Beschreibung von Algorithmen


(1) Ausführung elementarer Schritte
(2) Fallunterscheidung über Bedingungen
(3) sequentielle/parallele Ausführung, Wiederholung, Rekursion

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.4 Berechenbare Funktionen 82/115

ƒ Algorithmen berechnen Funktionen


ƒ Frage: Lassen sich alle mathematisch spezifizierten Funktionen durch
Algorithmen berechnen?
y Antwort: Nein!
fundamentales Ergebnis der mathematischen Logik (Karl Gödel)
y Funktionen, für die sich ein Algorithmus zu ihrer Berechnung
angeben lässt, heißen berechenbar
y Eine Menge M heißt aufzählbar, wenn sie genau aus den Werten y
einer berechenbaren Funktion y = f(x) besteht
y Eine aufzählbare Menge M heißt entscheidbar, wenn man
algorithmisch feststellen kann, ob y∈M oder y∉M
ƒ verschiedene Formalisierungen des Begriffs „Algorithmus“ und damit
des Begriffs berechenbar:
y Text- und Termersetzung, rekursive Funktionen, Turing-
Maschinen, while-Sprachen
ƒ Churchsche These: alle Formalisierungen von „Algorithmus“ sind
gleichwertig
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
+1.5 von-Neumann-Archtitektur 83/115

ƒ von Neumann (1903-1957) ersten


elektronischer Rechner, Programm
im Speicher
ƒ Bezeichnung für den prinzipiellen
Aufbau moderner Server- und
Arbeitsplatzrechner
ƒ Komponenten
y Prozessor (Arithmetisch-Logische
Einheit (ALU), Kontrolleinheit,
„führt Programme aus“)
Arbeits-
y Arbeitsspeicher (speichert Befehle speicher
Prozessor
und Daten)
y Peripherie (Ein-/Ausgabegeräte
(z.B. Drucker, Maus, Bildschirm),
Systembus
Plattenspeicher)
y Systembus zur Kopplung aller
anderen Komponenten
Peripherie

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


+1.5 von-Neumann-Architektur: Arbeitsweise 84/115

1. Befehl aus dem Speicher in den Prozessor holen (lesender Zugriff)


2. Befehl dekodieren, ggf. Operanden aus dem Speicher oder der
Peripherie in den Prozessor holen (lesender Zugriff)
3. Befehl ausführen, ggf. Ergebnis in den Speicher oder die Peripherie
schreiben (schreibender Zugriff)
4. Weiter bei Schritt 1

☛ Rechner führt im Prozessor ständig Befehle aus


☛ Rechner ist reaktives System

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


+1.5 von-Neumann-Architektur: Beispiel 85/115

DDR-SDRAM Pentium IV

„Northbridge“: i848-Familie

USB IDE
AGP-Grafikkarte „Southbridge“: ICH4
LAN Audio

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


+1.5 von-Neumann-Architektur: Flaschenhals 86/115

2GHz
>64 GB/s
DDR-SDRAM Pentium IV (intern)

3,2 GB/s 6,4 GB/s

„Northbridge“:
Siehe auch
i848-Familie
http://developer.intel.com/design/chipsets/linecard.htm

2 GB/s

USB IDE
AGP-Grafikkarte „Southbridge“: ICH5
LAN Audio

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


+1.5 von-Neumann Flaschenhals: Abhilfe 87/115

DDR-SDRAM Pentium IV
Pufferspeicher
(Cache)

Direkte Speicherzugriff
(DMA, direct memory access)

„Northbridge“: i848-Familie

USB IDE
AGP-Grafikkarte „Southbridge“: ICH4
LAN Audio

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.5 von-Neumann-Rechner 88/115

ƒ Rechner dient zur Implementierung von Algorithmen


y ursprünglich zur Durchführung arithmetischer Operationen
ƒ Babbage (1792- 1871) analytische Maschine (1833)

Programm Speicher

Programm steuert Berechnung


y Fortgang kann abhängig von
Datenwerten sein.

ƒ Zuse (1910- 1995) Z3 elektronischer


programmgesteuerter Rechner
ƒ von Neumann (1903- 1957) erster
elektronischer Rechner,
Programm im Speicher

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.5 Programmausführung 89/115

Arbeits-
Prozessor
speicher

Systembus

Peripherie

ƒ Rechner führt im Prozessor ständig Befehle aus


☛ Rechner ist reaktives System
ƒ Rechner entnimmt nächsten Befehl und Operanden aus dem
Speicher
y lesender Speicherzugriff holt Befehl oder Operand vom Speicher
y schreibender Speicherzugriff schreibt Ergebnis eines Befehls in
Speicher
ƒ Übertragung von n Bits gleichzeitig (heute oft n = 64)

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.5 von- Neumann- Engpass 90/115

Prozessor führt heute Befehle um Faktor 10-100 mal schneller aus als
Speicherzugriff

von-Neumann-Engpaß:

Prozessor Speicher

Speicherzugriff

Abhilfe:
y Register: Speicher im Prozessor
y Pufferspeicher: (engl. cache) schneller Zwischenspeicher
y separate Daten- und Befehlsbusse

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.5 Funktionseinheiten eines von- Neumann- Rechners 91/115
Arbeits-
Prozessor
speicher

Systembus

Peripherie

Prozessor (Rechnerkern oder CPU): führt Maschinenprogramm aus


y Programm ist Folge von Maschinenbefehlen
y Maschinenbefehl definiert Operation
Arbeitsspeicher speichert Maschinenbefehle und zugehörige Daten
Ein-/Ausgabesystem (Peripherie): Ein-/Ausgabegeräte (z.B. Drucker,
Maus, Bildschirm) Plattenspeicher, Kommunikationsprozessoren
Systembus (bidirektional): verbindet vorhandene Komponenten,
überträgt Daten, Befehle, Steuersignale etc., Busbelegung nach
Vorrang der Geräte
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
-1.5 Princeton/Harvard- Architektur 92/115

Arbeits-
Prozessor
speicher

Systembus Princeton Architektur

Peripherie

Programm- Daten-
Prozessor
speicher speicher

Harvard Architektur mit


Systembus getrenntem Programm-
und Datenspeicher

Peripherie

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.5 Organisation des Speichers (heute) 93/115

ƒ Organisation als Folge von Speicherzellen der Größe 8 Bits (Byte),


von 0 an durchnumeriert
Adresse: Nummer der Speicherzelle
Direkter
Speicherzugriff: Peripherie greift direkt (ohne Umweg über
Prozessor) auf Speicher zu
☛ viele Peripheriegeräte (Drucker,
Netzwerkkarte) haben eigenen Prozessor
☛ Beobachtung: 98% der verkauften
Prozessoren arbeiten in eingebetteten
Systemen (Spezialaufgaben in technischen
Systemen, Automobile, Telekommunikations-
einrichtungen, Fernsehgeräte, … )
☛ Aber: bei Intel liefern die restlichen 2% 90%
des Gewinns!
ƒ Zugriff auf Bus erfolgt prioritätengesteuert

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


-1.5 Befehlstypen 94/115

1. Transportbefehle
- Externer Transport (Arbeitsspeicher, E/A- System)
- Interner Transport (Register- Register)

2. Verarbeitungsbefehle
- Arithmetische und logische Befehle
- Schiebebefehle
- Vergleichsbefehle

3. Sprungbefehle

4. Systembefehle
(z.B. Unterbrechungsbearbeitung, Speicherverwaltung)

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Semi- Thue- Systeme – Einleitung 95/115

Axel Thue, 1863-1922, norwegischer Mathematiker und Logiker

ƒ informell: Semi-Thue-Systeme sind Textersetzungssysteme


☛ einfache, aber allgemeine Form von Algorithmen
ƒ Textersetzungssysteme kommen häufig in der Praxis vor:
Texteditoren; Skriptsprachen wie awk, sed, perl; XML
Vorgabe: endlicher Zeichenvorrat ∑ (auch Alphabet)
Wort: endliche Folge x = x0…xn von Zeichen xi∈∑
Länge eines Worts: x = x1…xn: |x| = n
leeres Wort ε: Wort der Länge 0
Schreibweisen:
y x ist Wort über ∑ (ε zulässig): x ∈ ∑*
y x ist Wort über ∑ (ε nicht zulässig): x ∈ ∑+

Teilwort eines Wortes: Wort x = x1…xn: Teilfolge xi…xi+k

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Semi-Thue-Systeme: Verfahren 96/115

ƒ Ein Semi-Thue-System ist ein Paar T=(∑, T) mit endlichem


Zeichenvorrat ∑ und endlicher Regelmenge T

ƒ Regeln l ↦ r mit l,r ∈ ∑*


y Anwendbar auf ein Wort x ∈ ∑* ⇔ x = ulv ; u,v ∈ ∑*
y Ergebnis der Anwendung: y = urv
ƒ Transformation oder direkte Ableitung: x ⇒ y
y „l ⇒+ r“ : r kann aus l durch eine endliche Folge direkter Ableitungen
gewonnen werden, r kann auf l reduziert werden
y „l ⇒* r“ bedeutet: „l ⇒+ r“ oder „l = r“
ƒ Ausführungsmodell für gegebenes Ausgangswort x ∈ ∑*
y Solange anwendbare Regeln vorhanden
à Wähle eine beliebige anwendbare Regel
à Wähle eine beliebige passende Anwendungsstelle
à Wende die Regel an

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Beispiel: Addition 97/115

Zeichenvorrat: ∑ = { |, + }

Regeln:

+| ↦ |+ (Regel ①)
+ ↦ ε (Regel ②)

|||+||⇒ ||||+| ①
⇒ |||||+ ①
⇒ ||||| ②

☛ Sind die Regeln minimal?

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Beispiel: Grade oder ungrade 98/115

ƒ Zeichenvorrat: ∑ = { | }
ƒ Aufgabe: Ist eine unäre Zahl grade oder ungrade?
ƒ Regeln:

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Bezug zu Algorithmen 99/115

ƒ Semi-Thue-Systeme sind Algorithmen


y Eingabe: Wort x
y Operationen: Ersetzungsregeln
à i.a. beliebig oft angewendet
à Terminierung: keine Regel mehr anwendbar
y Ausgabe: Ableitung von x

ƒ Eigenschaften
y Ausführung i.a. indeterministisch (siehe Ausführungsmodell)
y i.a. nichtterminierend
y Ausgabe i.a. nicht determiniert

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Formale Sprachen 100/115

ƒ Formale Sprache Lx = L(T, x) = { y | x ⇒* y in T }

ƒ Beispiel: Kindersprache
ƒ Zeichenvorrat: ∑ = {Mama, Papa, essen, trinken, muß mal}

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Inverse 101/115

ƒ Inverses T-1 eines Semi-Thue-Systems T

y Pfeilrichtung der Regeln umdrehen


y Beispiel: Kindersprache
y Zeichenvorrat: ∑ = { a, l, e, s, 1, 3, 5}

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Beispiel: Scholtens Kaffeedosenspiel 102/115

y Gegeben:
à Dose mit (endlich vielen) weißen und schwarzen Bohnen
à (Spiel-) Regeln
◦ Nehme fortgesetzt blind zwei Bohnen aus der Dose
(1) Falls die Bohnen die gleiche Farbe haben, so lege eine
schwarze in die Dose zurück
(2) Falls die Bohnen verschiedene Farben haben, so lege
nur die weiße Bohne zurück

y Eigenschaften
à Terminierung, wobei immer eine Bohne in der Dose ist
à Das Ergebnis ist abhängig von der anfangs gewählten
Anordnung

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Beispiel: Scholtens Kaffeedose 103/115

Semi-Thue-System: ∑ = {schwarz ; weiß}


schwarz schwarz ↦ schwarz
weiß weiß ↦ schwarz
schwarz weiß ↦ weiß
weiß schwarz ↦ weiß

Kaffeedose : Wort über Zeichenvorrat


schwarz schwarz weiß schwarz weiß weiß schwarz Regel 3
schwarz weiß schwarz weiß weiß schwarz Regel 2
schwarz weiß schwarz schwarz schwarz Regel 1
schwarz weiß schwarz schwarz Regel 4
schwarz weiß schwarz Regel 3
weiß schwarz Regel 4
weiß
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.6 Beispiel: Scholtens Kaffeedose 104/115

Semi-Thue-System: ∑ = {schwarz ; weiß}


schwarz schwarz ↦ schwarz
weiß weiß ↦ schwarz
schwarz weiß ↦ weiß
weiß schwarz ↦ weiß

Satz: Das Semi-Thue-System terminiert immer.


Beweis: Induktion über Länge der Wörter

ƒ Induktionsanfang: |x| ≤ 1: keine Regel anwendbar,


Verfahren terminiert
ƒ Induktionshypothese: Semi-Thue-System terminiert für alle
Wörter x mit |x| = n, n≥1
ƒ Induktionsbehauptung: Semi-Thue-System terminiert für alle
Wörter x mit |x| = n+1

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Beispiel: Scholtens Kaffeedose 105/115

Semi-Thue-System: ∑ = {schwarz ; weiß}


schwarz schwarz ↦ schwarz
weiß weiß ↦ schwarz
schwarz weiß ↦ weiß
weiß schwarz ↦ weiß

ƒ Induktionsbehauptung: Semi-Thue-System terminiert für alle


Wörter x mit |x| = n+1
y eine Regel ist immer anwendbar, da n≥2
y sei y das Wort nach Regelanwendung, also |y| = n
y nach Induktionshypothese terminiert das Semi-Thue System für y,
☛ also terminiert das Semi-Thue System für x

Satz: Das Ergebnis (Farbe der letzten Bohne) ist abhängig von der
Reihenfolge der Anordnung und der Regelauswahl
Beweis: Angabe eines Beispiels. Welches?

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Markov Algorithmen 106/115

Andrei Markov, 1903-1979, russ. Mathematiker


Markov-Algorithmus:
y (Markov, 1951) deterministisches Semi-Thue-System
y Folge von Regeln über einem Zeichenvorrat ∑
y zusätzlich haltende Regeln: l ↦ ⋅r
y die Reihenfolge der Regeln ist wichtig

Meta-Regeln:
y Wähle in jedem Schritt die erste anwendbare Regel. Falls diese auf mehrere
Teilwörter anwendbar ist, dann wende sie auf das am weitesten links
stehende Teilwort an.
y Wende solange Regeln an, bis keine mehr anwendbar ist oder eine haltende
Regel angewandt wird.
y Keine Regel mehr anwendbar: Fehlerhalt

gesteuerter Markov-Algorithmus:
y erlaubt zusätzliche Zeichen α, β, … (Schiffchen)
y Schiffchen nicht in Ein- oder Ausgabe enthalten

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Addition von 1 in Binärdarstellung ganzer Zahlen 107/115

Markov-Algorithmus: ① αL ↦ Lα ② αO ↦ Oα ③α↦β
④ Lβ ↦ βO ⑤ Oβ ↦ ⋅L ⑥ β ↦ ⋅L
⑦ε↦α

Beispiellauf: LOLL ⇒ αLOLL ⑦


⇒ LαOLL ①
⇒ LOαLL ①
⇒ LOLαL ①
⇒ LOLLα ①
⇒ LOLLβ ③
⇒ LOLβO ④
⇒ LOβOO ④
⇒ LLOO ⑤

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Formale Systeme 108/115

formales System: Paar ℱ = (U, ⇒), wobei


y U ist endliche oder abzählbar unendliche Menge
y “⇒” ⊆ U × U Relation
y Es einen Algorithmus gibt, der jedes r ∈ U mit l ⇒ r , l ∈ U in
endlich vielen Schritten aus U berechnen kann.

☛ r heißt dann aus l (effektiv) berechenbar

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Eigenschaften formaler Systeme 109/115

Ableitung: x ⇒* y analog zu Semi-Thue-Systemen


Problem: nur positiv feststellbar, ob x ⇒* y

Entscheidbares
formales System: auch algorithmisch feststellbar, ob x ⇏* y
Endlich erzeugtes
formales System: Relation x ⇒ y gegeben durch endliche Menge
von Regeln R der Form l ↦ r
Problem: R bestimmt formales System nicht allein

Kalkül: endlich erzeugtes formales System mit einer


Menge von Metaregeln (auch: Kalkülregeln)

Beispiel von Metaregel: Reihenfolge beachten, haltende Regeln


kennzeichnen
Beispiele: Semi-Thue-Systeme, Markov-Algorithmen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Beispiel: Euklidischer Algorithmus 110/115

Formales System: E = (ℕ × ℕ, ⇒), wobei


(n, 0) ↦ ⋅ (n, 0)
(n, m) ↦ (m, n - ⌊n/m⌋ ⋅ m )
Rest
⌊x⌋ bedeutet: x wird nach unten auf nächste ganze Zahl gerundet.
Metaregeln:
y Einsetzen eines aktuellen Wertes für n und m und ersetzen durch
die rechte Seite
y Anwendung der ersten Regel terminiert
y Regeln werden so lange angewandt, bis haltende Regel
angewandt wird oder keine Regel anwendbar ist.

Beispiellauf: (8,12) ⇒ (12,8) Regel 2


⇒ (8,4) Regel 2
⇒ (4,0) Regel 2
⇒ (4,0) Regel 1 HALT.

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Chomsky- Grammatiken 111/115

Noam Chomsky, geb. 1928, amerikanischer Linguist

Ursprüngliches Ziel: Beschreibung der Struktur von Sätzen in


natürlicher Sprache
☛ mit Hilfe von Semi-Thue Systemen

Beispiel: Ein Informatiker isst Schokolade.

Regeln: Satz ↦ Subjekt Prädikat Objekt


Subjekt ↦ Artikel Substantiv
Objekt ↦ Substantiv
Artikel ↦ Ein
Substantiv ↦ Informatiker
Substantiv ↦ Schokolade
Prädikat ↦ isst

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Chomsky- Grammatiken 112/115

ƒ Darstellung als Ableitungsbaum

Satz

Subjekt Prädikat Objekt

Artikel Substantiv Substantiv

Ein Informatiker isst Schokolade

ƒ Das Semi-Thue-System heißt eine Grammatik


ƒ Regeln heißen Produktionen

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Diskussion 113/115

Sprache als formale Sprache L(S)= LT(S)


eines Semi-Thue-Systems T = (∑, R)
Beispiel: L(Satz)
Startsymbol S: Ausgangspunkt für Sprache, auch Axiom oder Ziel
Nicht alle Symbole des Zeichenvorrats sind Bestandteil
der Sätze der Sprache
Beispiel: syntaktische Begriffe Satz, Subjekt, Prädikat usw.
Nichtterminale: syntaktische Begriffe, auch syntaktische Variablen oder
nichtterminale Zeichen, die nicht in Sätzen der Sprache
vorkommen

So etwas Ähnliches gab es schon einmal!


☛ Schiffchen bei gesteuerten Markov-Algorithmen
Terminale: bestimmte Symbole des Zeichensatzes, die in den
Wörtern der Sprache erlaubt sind

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


!!!1.6 Grammatiken 114/115

Grammatik: G = (∑, N, P, S) wobei


∑ Menge der Terminale
N Menge der Nichtterminale
S∈N Startsymbol
(∑ ∪ N, P) Semi-Thue-System
Beachte:
Vokabular von G: VG = ∑ ∪ N ∑∩N=∅
Sprachschatz von G: L(G) = { w ∈ ∑* : S ⇒* w } V* = Menge aller
Phrase von G: x ∈ V* mit Y ⇒+ x, Y ∈ N Zeichenreihen über
dem Zeichenvorrat VG

Charakterisierung des V+ = V* ∖ {ε}


Sprachschatzes : alle terminalen Phrasen für S
Zerteilung von x ∈ V*: findet heraus ob x Phrase von G ist

Beobachtung :
Ableitungsbaum beschreibt sowohl Zerteilung als auch Erzeugung von
Phrasen
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.6 Äquivalenz von Grammatiken 115/115

Beispiel: Betrachte die Grammatiken G und G‘ mit


Produktionenmengen
P = { S ↦ z ; S ↦ zSz }
P‘ = { S ↦ z ; S ↦ Szz }
Sprachschatz: L(G) = L(G‘) = { z2n+1 : n ∈ ℕ }

schwach äquivalente Grammatiken G und G‘: L(G) = L(G‘)


andere Phrasenstruktur möglich, Darstellung über
Klammern: ersetze Produktion l ↦ r durch l ↦ 〈 r 〉
im Beispiel: 〈 z 〈 z 〈 z 〉 z 〉 z 〉 ↔ 〈 〈 〈 z 〉 zz 〉 zz 〉

strukturäquivalente Grammatiken G und G‘:


auch nach expliziter Darstellung der Phrasenstruktur
gilt L(G) = L(G‘).
Beobachtung:
Ableitungsbäume beschreiben Phrasenstruktur

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


!!!1.6 Chomsky-Hierarchie 116/115

CH-0 Grammatik: (lies: Chomsky 0) alle Produktionen haben


allgemeine Form l ↦ r ; l,r ∈ V* beliebig
☛ berechenbar, ob S ⇒* y
☛ aber nicht immer, ob S ⇏* y

CH-1 Grammatik: (auch kontextsensitive Grammatik)


alle Produktionen sind kontextsensitiv
(evtl. Ausnahme: S ↦ ε, dann aber nicht … ↦ …S…!)
Kontextsensitive
Produktion: uAv ↦ urv ; A ∈ N ; r ∈ V+ ; u,v ∈ V*

äquivalente Definition: alle Produktionen sind beschränkt


Beschränkte
Produktion: l ↦ r ; l,r ∈ V* ; 1 ≤ |l| ≤ |r|
☛ In Ableitung S ⇒* x ⇒ y gilt |y| ≥ |x|
☛ Entscheidbar, ob S ⇒* y

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Chomsky- Hierarchie 117/115

CH-2 Grammatik: (auch kontextfreie Grammatik)


alle Produktionen sind kontextfrei
kontextfreie Produktion: A ↦ r ; A ∈ N ; r ∈ V*
☛ Struktur korrekter Programme in
Programmiersprachen
☛ Inhaltliche Konsistenzprüfung von
Programmiersprachen ist kontextsensitiv!
CH-3 Grammatik: (auch reguläre Grammatik)
alle Produktionen sind linkslinear, terminierend
oder ε-Produktionen
äquivalente Definition: alle Produktionen rechtslinear, terminierend oder
ε-Produktionen
☛ nicht feststellbar, ob Klammerstrukturen stimmen
linkslineare Produktion: A ↦ Bx ; A,B ∈ N ; x ∈ ∑
rechtslineare Produktion: A ↦ xB ; A,B ∈ N ; x ∈ ∑
terminierende Produktion: A↦x ; A∈N ; x∈∑
ε-Produktion: A↦ε ; A∈N
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
!!!1.6 Chomsky- Hierarchie 118/115

Beobachtung: In der Praxis sind reguläre und kontextfreie


Grammatiken wichtig

CH-0 CH-1 CH-2 CH-3

CH-3 ⊂ CH-2 ⊂ CH-1 ⊂ CH-0


CH-2 ⊂ CH-1 gilt nur
ƒ wenn wir ε-Produktionen in CH-2 ausschließen (→Praxisbezug?)
ƒ oder die Ausnahme „S ↦ ε“ in CH-1 einschließen (→Randbedingung!)

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Klassifikation der Produktionen- Überblick 119/115

Gegeben: Grammatik G = (∑, N, ℙ, S)


allgemeine Form: l ↦ r ; l,r ∈ V*

ε-Produktion: l ↦ ε, l ∈ V*

beschränkte Produktion: l ↦ r ; l,r ∈ V* ; 1 ≤ |l| ≤ |r|

kontextsensitive Produktion: uAv ↦ urv ; A ∈ N ; r ∈ V+ ; u, v ∈ V*

kontextfreie Produktion: A ↦ r ; A ∈ N ; r ∈ V*

linkslineare Produktion: A ↦ Bx ; A,B ∈ N ; x ∈ ∑

rechtslineare Produktion: A ↦ xB ; A,B ∈ N ; x ∈ ∑

terminierende Produktion: A↦x ; A∈N ; x∈∑

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Beispiel: Ausdrücke 120/115

Konventionen zur Definition von kontextfreien Grammatiken


y nur Angabe der Produktionen
y linke Seite der ersten Produktion ist Ziel der Grammatik
y alle nichtterminalen Zeichen kommen wenigstens einmal auf der
linken Seite einer Produktion vor
y alle anderen Zeichen sind terminal
y Produktionen A ↦ r1, …, A ↦ rn werden zu A ↦ r1 | … | rn
zusammengefaßt.

Beispiel: Arithmetische Ausdrücke: Addition (+),


Multiplikation (*), üblicher Vorrang,
Klammerung, Variablen
A ↦T|A+T Operator + hat geringsten Vorrang
T ↦F|T*F
F ↦ bez | (A) Klammerung hat stärksten Vorrang

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Ableitung eines Ausdrucks 121/115

Regeln: A ↦ T | A + T ①
T↦F|T*F ② Ableitung von (a + b) * c + d:
F ↦ bez | (A) ③ A
A⇒ A +T ①
⇒ T +T ① A + T
⇒ T *F+T ② T F
⇒ F *F+T ②
⇒ (A) * F + T ③ T * F d
⇒ (A + T) * F + T ①
⇒ (T + T) * F + T ①
F c
⇒ (F + T) * F + T ② ( A )
⇒ (a + T) * F + T ③
⇒ (a + F) * F + T ② A + T
⇒ (a + b) * F + T ③
⇒ (a + b) * c + T ③ T F
⇒ (a + b) * c + F ②
F b
⇒ (a + b) * c + d ③
a
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.6 Diskussion 122/115

Beobachtungen:
ƒ Erkennung, ob (a+b) * c+d ∈ L(G), ist auch durch Reduktion
möglich (umgekehrte Anwendung von Produktionen)
☛ Produktionen müssen gut geraten werden, sonst entstehen
Sackgassen

ƒ Beispiel hat Kettenproduktionen A ↦ B für Nichtterminale A, B

anständige kontextfreie Grammatiken:


ƒ keine ε-Produktion
ƒ keine Kettenproduktion

reduzierte kontextfreie Grammatiken:


ƒ Ziel S kommt nicht auf rechter Seite einer Produktion vor, jedes
Nichtterminal kommt in der Ableitung wenigstens eines Satzes vor.

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Alternative Grammatik 123/115

A ↦ A + A | A * A | (A) | bez
A

A ⇒ A +A A + A
⇒ A *A+A
A * A d
⇒ (A) * A + A
⇒ (A + A)* A + A ( A ) c
⇒ (a + A)* A + A
A + A
⇒ (a + b)* A + A
⇒ (a + b)* c + A a b
⇒ (a + b)* c + d

Warum ist die Grammatik im vorangehenden Beispiel nicht anständig?

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Andere Ableitung 124/115

A ↦ A + A | A * A | (A) | bez
A
A ⇒ A * A
⇒ (A) * A A A
*
⇒ (A + A) * A
⇒ (a + A) * A ( A ) A A
+
⇒ (a + b) * A
⇒ (a + b) * A + A A + A c d
⇒ (a + b) * c + A
⇒ (a + b) * c + d a b

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Vergleich der Ableitungen 125/115

A ↦ A + A | A * A | (A) | bez
A A

A + A A * A

A * A d ( A ) A + A

( A ) c A + A c d

A + A a b

a b
Beobachtung:
1. Ableitung erhält Operatorprioritäten, die 2. nicht
☛ Grund für Kettenproduktionen
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.6 Kantorowitsch - Bäume 126/115

Leonid Witaljewisch Kantorowitsch, 1912 -1986, russ. Mathematiker


und Wirtschaftswissenschaftler, Nobelpreis 1975

Ziel: minimale Darstellung der Vorränge in Ausdrücken


(Kantorowitsch 1956)
ƒ Ausgangspunkt: Ableitungsbaum gemäß Grammatik, die Vorrang erhält
ƒ Streichen der Klammern
ƒ Zusammenziehen von Kettenproduktionen
ƒ Ersetzen von Nichtterminalen durch Operatoren

Kantorowitschbaum: Ergebnis dieser Transformation

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Beispiel 127/115

A
+
A + T
T F
* d
T * F +
d c
F c
( A ) a b
A + T
T F
F
b
a
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.6 Zurück zur einfachen Grammatik 128/115

A A ↦ A + A | A * A | (A) | bez A
A + A
A * A
A * A d
( A ) A + A
( A ) c
A + A c d
A + A

a b a b
Beobachtung: zwei verschiedene Ableitungen desselben Texts
(a + b) * c + d mit unterschiedlicher Struktur
mehrdeutige Grammatik: kontextfreie Grammatik G mit einem
Wort w ∈ L(G), zu dem mehrere
Ableitungsbäume existieren
inhärent mehrdeutige Sprache: für alle kontextfreien Grammatiken
G für die Sprache L mit L = L(G) gilt:
G ist mehrdeutig
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.6 Syntax von Programmiersprachen 1 129/115

Backus-Naur-Form (kurz BNF)

ƒ Erfunden von John Backus 1958


ƒ Erstmals eingesetzt von Peter Naur zur Beschreibung von Algol 58
und Algol 60
y statt ↦ schreibe ::=
y Nichtterminale in 〈 〉
y senkrechter Strich trennt Alternativen

Beispiel: A ↦ A + A | A * A | (A) | bez


〈 Ausdruck 〉 ::= 〈 Ausdruck 〉 + 〈 Ausdruck 〉
| 〈 Ausdruck 〉 * 〈 Ausdruck 〉
| (〈 Ausdruck 〉) | bez

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Syntax von Programmiersprachen 2 130/115

erweiterte Backus-Naur-Form (kurz EBNF)


ƒ optionale Teile in [ … ]
ƒ Gruppe von Zeichen, z.B. Phrase in ( … )
ƒ alternative Klammerinhalte durch | getrennt
ƒ * nach Zeichen oder Gruppe gibt beliebig viele Wiederholungen an
(auch gar keine)
ƒ + nach Zeichen oder Gruppe gibt beliebig viele Wiederholungen an
(aber: mindestens eine)
ƒ Terminale in Anführungszeichen '…' (Unterscheidung von
Metazeichen

Beispiel:
A↦T|A+T 〈 Ausdruck 〉 ::= ['+' | '-'] 〈 Term 〉 (('+' | '-') 〈 Term 〉 )*
T↦F|T*F 〈 Term 〉 ::= 〈 Faktor 〉 ('*' 〈 Faktor 〉 ) *
F ↦ bez | (A) 〈 Faktor 〉 ::= 'bez' | '(' 〈 Ausdruck 〉 ')'

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Syntax von Programmiersprachen 3 131/115

A↦T|A+T
Syntaxdiagramme T↦F|T*F
F ↦ bez | (A)

Ausdruck

Ausdruck + Ausdruck

Ausdruck * Ausdruck

( Ausdruck )

Bezeichner

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe


1.6 Syntaxdiagramme 132/115

Ausdruck:

Ausdruck + Ausdruck

Ausdruck * Ausdruck

( Ausdruck )

Bezeichner

Syntaxdiagramm:
y genau einen Eingang
y genau einen Ausgang
y jeder Weg vom Eingang zum Ausgang ergibt zulässiges Wort
y Terminale in Ovalen oder Kreisen
y syntaktische Begriffe in Kästchen
y kann (wie hier) rekursiv sein
Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe
1.6 Semi- Thue- Systeme - Zusammenfassung 133/115

ƒ Textersetzung wie bei Markov-Algorithmen liefert bereits allgemeinste


Form von Algorithmen
ƒ Semi-Thue-Systeme mit strukturierten linken und rechten Seiten:
siehe Kap. 3, Termalgebren
ƒ kontext-freie und reguläre Grammatiken werden zur Beschreibung
von Programmiersprachen und für viele andere Zwecke benutzt.
y BNF bzw. EBNF: praktische Ausdrucksweisen für kontext-freie und
und reguläre Grammatiken
y Syntaxdiagramme: anschauliche Darstellungsform für kontext-freie
Grammatiken

Informatik I WS 03/04 - Prof. Dr. Gerhard Goos 1. Grundbegriffe