FH
Grundlagen der Informatik
Fachhochschule Regensburg Professor Dr. Frank Herrmann
SS 2004
Organisation
Vorlesung: Mittwochs 6. Stunde und Donnerstags 3. Stunde
Übungen: vier Termine, jeweils zwei für die allgemeinen und die technischen Informatiker
Allgemeine Informatik: Dienstags 3. oder 4. Stunde
Technische Informatik: Montags 2. und 3. Stunde
FH
© Fachhochschule Regensburg, Professor Dr. Frank Herrmann Einführung / 3
Grundlagen – wozu? 1/2
Neue Software durch schnelles Programmieren und Ausprobieren
Beobachtung/Effekt: Software (-Entwicklung) geht in die Breite:
Neue Spezialprobleme
Keine grundlegend neue Techniken
Sofort monetär umsetzbare Technologie
Kann jeder!
Langsamer Fortschritt der kommerziellen Softwareentwicklung; z.B.
objektorientiertes Programmieren
Grund: mangelnde Kenntnisse der theoretischen Zusammenhänge
Unbekannt
Aus Zeitgründen nicht angeeignet Beispiele:
Compilerbau: Theorie der formalen Sprachen J neuartige Techniken und Automatisierung des Compilerbaus
Neuer Anwendungen wir Algorithmen zur Überprüfung von Modellen
Grundlagen – wozu? 2/2
Theorie der formalen Sprachen und Automaten
Standardwissen eines jeden Informatikers
Theoretische Grundlage der Verarbeitung natürlicher Sprache und aller Softwaretechniken, die das automatische Verarbeiten von formalen Objekten zum Inhalt haben.
FH
© Fachhochschule Regensburg, Professor Dr. Frank Herrmann Einführung / 5
Organisation
Skript:
Keines
Verschiedene Bücher, s. Literaturliste: Aussagen der Literatur sind ähnlich formuliert.
Unterlagen: Überwiegend an der Tafel evtl. auch einige Folien
(Gezeigte Folien kommen auf mein Verzeichnis mit Vorlesungsdatum) Klausur:
Verständnisfragen zur Vorlesung
Rechenaufgaben wie in den Übungen
Hilfsmittel: beliebig (Zeittraining erforderlich!)
Literatur
Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie
von John E. Hopcroft, Jeffrey D. Ullmann, Rajeev Motwani
Informatik, Datenstrukturen und Konzepte der Abstraktion von Alfred V. Aho und Jeffrey D. Ullmann
Theoretische Informatik – kurzgefaßt von Uwe Schöning
Theoretische Grundlagen der Informatik von Rolf Socher
Automaten Sprachen Berechenbarkeit von Sander, Stucky und Herschel
Der Turing Omnibus von A.K. Dewdney
Gödel, Escher, Bach Douglas R. Hofstadter
FH
© Fachhochschule Regensburg, Professor Dr. Frank Herrmann Einführung / 7
Inhalt
Einführung
Formale Sprachen Grammatiken
Endliche Automaten Kellerautomaten
Turingmaschinen
Endliche Automaten
Modell für:
Software zum Entwurf und zur Überprüfung des Verhaltens digitaler Schaltkreise
Aufschlüsselung des Eingabetextes in logische Einheiten wie Bezeichner, Schlüsselworte und Satzzeichen („lexikalische Analyse)
Software zum Durchsuchen umfangreicher Texte wie Sammlungen von Webseiten, um Vorkommen von Wörtern, Ausdrücken oder anderer Muster zu finden.
Software zum Verifizieren aller Arten von Systemen, die eine endliche Anzahl verschiedener Zustände besitzen, wie Kommunikationsprotokolle zum sicheren Datenaustausch.
FH
© Fachhochschule Regensburg, Professor Dr. Frank Herrmann Einführung / 9
Endlicher Automat - informell
Eigenschaft vieler Systeme (Komponenten): zu jedem Zeitpunkt in einem von einer endlichen Anzahl von „Zuständen“.
Zweck eines Zustands: Festhalten des relevanten Teils einer Geschichte eines Systems
Bedingung einer endlichen Anzahl von Zuständen: nur das Wichtige beschreiben und speichern.
Arbeit mit einer endlichen Anzahl an Zuständen
J System mit einer fixen Menge von Ressourcen implementieren; i.e.
begrenzte Menge von Daten (Schaltkreis) oder Position der Anweisung im Code (Programm)
Geschichtliche Entwicklung
30-er Jahre: abstrakte Maschine (Turing-Maschinen) = Fähigkeiten heutiger Computer
40- und 50-er Jahre: endliche Automaten und formale Grammatiken J Grundlage von Software-Komponenten (Compiler)
1969 (S. Cook): Was kann berechnet werden und was nicht? M.a.W. effizient mit Computern lösbare Problem (handhabbare Probleme) vs. prinzipiell
lösbare Probleme mit sehr langer Laufzeit (NP-hart) – keine Verbesserung durch Moores Gesetz!
J Problem direkt lösen vs. Umgehung per Approximation bzw. Heuristik etc.