Click here to load reader

Gliederung Informatik I - math.uni- · PDF fileSysteme konnen¨ diskret, kontinuierlich, statisch, dynamisch, determi-nistisch und indeterministisch sein. Auch Mischformen treten haufig¨

  • View
    213

  • Download
    0

Embed Size (px)

Text of Gliederung Informatik I - math.uni- · PDF fileSysteme konnen¨ diskret, kontinuierlich,...

  • Informatik I

    Informatik I

    Unterlagen zur Vorlesung

    Stand: WS 07/08

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik

    Informatik I

    Gliederung

    1 – Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2 – Theorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    1 – Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    2 – Halbgruppen, Monoide, Wörter . . . . . . . . . . . . . 33

    3 – Relationen und Graphen . . . . . . . . . . . . . . . . 38

    4 – Halbordnungen, Verbände . . . . . . . . . . . . . . . 62

    5 – Aussagenlogik . . . . . . . . . . . . . . . . . . . . . . 70

    6 – Formale Systeme . . . . . . . . . . . . . . . . . . . .103

    7 – Grammatiken und Automaten . . . . . . . . . . . . . .118

    8 – Aufwand von Algorithmen . . . . . . . . . . . . . . . .163

    3 – Programmierung . . . . . . . . . . . . . . . . . . . . . . .178

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik

    Informatik I

    1 – Elementare Datentypen . . . . . . . . . . . . . . . . .179

    2 – Funktionen . . . . . . . . . . . . . . . . . . . . . . . .183

    3 – Prädikate und bedingte Ausdücke . . . . . . . . . . .200

    4 – Rekursion . . . . . . . . . . . . . . . . . . . . . . . .204

    5 – Elementare Listenoperationen . . . . . . . . . . . . .216

    6 – Iteration . . . . . . . . . . . . . . . . . . . . . . . . . .227

    7 – Lokale Variable und Konstanten . . . . . . . . . . . .242

    8 – Fu. als Argumente und Werte; reine Funktionen . . .244

    9 – Operationen mit Listen . . . . . . . . . . . . . . . . .262

    10 – Muster . . . . . . . . . . . . . . . . . . . . . . . . . .289

    11 – Objekte mit Zuständen . . . . . . . . . . . . . . . . .306

    4 – Datenstrukturen . . . . . . . . . . . . . . . . . . . . . . .319

    1 – Datenabstraktion . . . . . . . . . . . . . . . . . . . . .320

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik

    Informatik I

    2 – Binärbäume: Suche . . . . . . . . . . . . . . . . . . .331

    3 – Binärbäume: Arithmetische Ausdrücke . . . . . . . .342

    4 – Binärbäume: Huffman-Code . . . . . . . . . . . . . .346

    5 – Heaps, Heap-Sort . . . . . . . . . . . . . . . . . . . .369

    5 – Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . .381

    1 – Tiefen- und Breitensuche (Backtracking) . . . . . . .382

    2 – Binäre Suche . . . . . . . . . . . . . . . . . . . . . . .401

    3 – Sortieren . . . . . . . . . . . . . . . . . . . . . . . . .405

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik

  • Informatik I 1 Einführung

    1 – Einführung

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik Seite 4

    Informatik I 1 Einführung

    Motivation

    Maschinen (Computer) verarbeiten heutzutage alle möglichen Daten und Informationen. Sie

    • simulieren Crash-Tests,

    • steuern Flugzeuge,

    • verwalten Unternehmensdaten,

    • schauen in den menschlichen Körper,

    • usw.

    Was bedeutet Daten- und Informationsverarbeitung?

    Der Computer versteht keine natürliche Sprache. Was bedeutet es einen Computer zu programmieren?

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik Seite 5

    Informatik I 1 Einführung

    Signale, Datum, Information

    Physik, Elektro-, Nachrichtentechnik: Kontinuierliche Welt: Sensoren→ Signale→ Nachrichten

    Informatik: Diskrete Welt: Nachrichten→ Interpretation→ Information

    Die Bedeutung einer Nachricht hängt vom jeweiligen Kontext ab. Auch und besonders die Interpretation von Nachrichten in unserer natürlichen Sprache ist sehr kontextabhängig.

    Ich sah den Stern mit dem Fernglas. Ich sah den Polizisten mit der Pistole.

    Daten = Nachrichten und zugehöriger Kontext.

    Beispiel. Nachricht x2: Zeichen x mit oberen Index 2, Polynom mit der Unbekannten x, Vorschrift “Quadriere x”, das Quadrat von x.

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik Seite 6

    Informatik I 1 Einführung

    Wissen

    • Deklaratives Wissen: Information gegebener Daten (“Was ist der Fall”).

    • Prozedurales Wissen: Vermögen der Interpretation gegebener Daten (“Wie geht etwas”).

    Datenstrukturen dienen zur Darstellung von Wissen. Informations- verarbeitung verknüpft Daten, um neue Informationen zu gewinnen (z.B. Filterung, Prädiktion).

    Informatik ist die Wissenschaft

    – der Modellierung,

    – der Analyse,

    – des Entwurfs, und

    – der Realisierung

    von Systemen zur Informationsverarbeitung.

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik Seite 7

  • Informatik I 1 Einführung

    Wirklichkeit und Modelle

    Wirklichkeit:

    – Dinge

    – Personen

    – Beziehungen (Relationen) zwischen Dingen und zwi- schen Personen (Fakten)

    – Veränderungen mit der Zeit.

    Modell:

    – Begriffe von Dingen

    – Begriffe von Personen

    – Formale Beziehungen zwi- schen Begriffen (mögliche Sachverhalte)

    – Veränderungen mit der (fiktiven) Zeit.

    Informationsverarbeitung dient der Konstruktion von Modellen, um Aus- sagen über die Wirklichkeit machen zu können.

    Modellierung ist eine zentrale Aufgabe der Informatik.

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik Seite 8

    Informatik I 1 Einführung

    Systeme

    Systeme sind Mengen von Dingen oder Personen (Systemkompo- nenten), zusammen mit Beziehungen zwischen diesen Objekten.

    Die Systemkomponenten und deren Beziehungen für einen festen Zeitpunkt nennt man Zustand. Die Veränderung des Systemzustands mit der Zeit machen das Systemverhalten aus.

    Jedes System ist in eine Umgebung eingebettet. Die Grenze zur Um- gebung heißt Schnittstelle. Sie definiert den Nachrichtenaustausch und Beziehungen mit der Umgebung.

    Systemkomponenten können selbst Systeme sein. Man spricht von einem schwarzen Kasten (black box), wenn Details des inneren Aufbaus und der Struktur einer Systemkomponente für das Verständnis des Gesamtsystems unwesentlich sind, also nur der Zustand des Teil- systems relevant ist.

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik Seite 9

    Informatik I 1 Einführung

    Systeme (Forts.)

    Systeme können diskret, kontinuierlich, statisch, dynamisch, determi- nistisch und indeterministisch sein. Auch Mischformen treten häufig auf.

    Reaktive Systeme verarbeiten kontinuierlich Daten der Umgebung, gewinnen Informationen, und beeinflussen die Umwelt durch eigene Aktionen (Beispiele: Regelung eines Prozesses, autonomer Roboter).

    Man spricht von eingebetteten Systemen, wenn das informations- verarbeitende System Komponente eines umfassenderen Systems ist, dessen Teilkomponenten nicht der Datenverarbeitung dienen (Bei- spiel: Sensordatenverarbeitung im Auto).

    Adaptive Systeme sind in der Lage, sich Veränderungen der Um- gebung anzupassen, insbesondere solchen, die es selbst bewirkt hat (lernende Systeme).

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik Seite 10

    Informatik I 1 Einführung

    Validierung und Verifikation

    Unter Validierung versteht man die Überprüfung des “Wahrheitsge- haltes” eines Modells, indem man einen Prototyp des entworfenen Systems implementiert und das Systemverhalten in der Wirklichkeit testet. Diese Prüfung kann nicht vollständig sein.

    Validierung heißt Verifikation, wenn das Systemverhalten anhand ei- ner Spezifikation überprüft wird, d.h. einer hinreichend formalen Be- schreibung der geforderten Systemleistung. Diese Überprüfung er- folgt dann ebenfalls mit formalen Methoden, d.h. man strebt an zu beweisen, dass das Systemverhalten der Spezifikation genügt.

    C. Schnörr — LS Bildverarbeitung, Mustererkennung und Computergrafik, Fakultät für Mathematik und Informatik Seite 11

  • Informatik I 1 Einführung

    Algorithmen

    Die elementarste Aufgabe eines informationsverarbeitenden Systems ist die Realisierung einer Funktion f : A→ B, das heißt für zulässige Eingaben a aus einer Menge A das zugehörige Ergebnis b = f(a) zu ermitteln. Jedes komplexere Systemverhalten baut auf Funktionen auf.

    Der Computer ermittelt das Ergebnis schrittweise, so wie wir bei- spielsweise eine Bedienungsanleitung für irgendein Gerät befolgen. Diese Anleitung, hinreichend präzise in einer für den Computer ver- ständlichen Programmiersprache als Programm formuliert, nennt man Algorithmus.

    Bezüglich des Ablauf eines Algorithmus unterscheidet man:

    • Sequentielle Ausführung: Teilschritte hängen voneinander ab, z.B. durch Weiterverwendung von Teilergebnissen.

    • Parallele Ausführung: Teilschritte hä