Mathematische Maschinen



Ähnliche Dokumente
3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

Primzahlen und RSA-Verschlüsselung

3. Mathematische Maschinen

1 Mathematische Grundlagen

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Die Komplexitätsklassen P und NP

Übung Theoretische Grundlagen

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

Programmiersprachen und Übersetzer

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Grundlagen der Künstlichen Intelligenz

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Einführung in die Algebra

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

Aufgabensammlung Bruchrechnen

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Informationsblatt Induktionsbeweis

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

7 Rechnen mit Polynomen

Transaktionsempfehlungen im ebase Online nutzen

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Musterlösungen zur Linearen Algebra II Blatt 5

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

6.2 Scan-Konvertierung (Scan Conversion)

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Menü auf zwei Module verteilt (Joomla 3.4.0)

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Grundlagen der Videotechnik. Redundanz

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Zeichen bei Zahlen entschlüsseln

GDI-Business-Line 3.x Ticketverwaltung

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

Konzepte der Informatik

Modellbildungssysteme: Pädagogische und didaktische Ziele

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

4. Dynamische Optimierung

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Grundlagen der Theoretischen Informatik, SoSe 2008

Lineare Gleichungssysteme

Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.

Absolute Stetigkeit von Maßen

HamburgService Registrierung für die Online-Dienste Gutachterverfahren (GUV) und Gutachterinformationssystem (GIS)

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

8.2 Thermodynamische Gleichgewichte, insbesondere Gleichgewichte in Mehrkomponentensystemen Mechanisches und thermisches Gleichgewicht

Mathematischer Vorbereitungskurs für Ökonomen

Erstellen eigener HTML Seiten auf ewon

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Elektrische Logigsystem mit Rückführung

Frohe Weihnachten und ein gutes neues Jahr!

Fallbeispiel: Eintragen einer Behandlung

Internet online Update (Mozilla Firefox)

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Lineare Gleichungssysteme

Kompetitive Analysen von Online-Algorithmen

Lehrer: Einschreibemethoden

8. Quadratische Reste. Reziprozitätsgesetz

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Definition und Begriffe

W-Rechnung und Statistik für Ingenieure Übung 11

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Datenexport aus JS - Software

QM: Prüfen -1- KN

Klassenarbeit zu linearen Gleichungssystemen

Logische Folgerung. Definition 2.11

Im Original veränderbare Word-Dateien

Lineare Gleichungssysteme

Investition und Finanzierung. Investition Teil 1

Einführungskurs MOODLE Themen:

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

BENUTZER INFO ONLINE SHOP

1. Wie viel Zinsen bekommt man, wenn man 7000,00 1 Jahr lang mit 6 % anlegt?

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Kapitel 4 Schaltungen mit Delays (Schaltwerke) Literatur: Oberschelp/Vossen, Kapitel 4. Kapitel 4: Schaltungen mit Delays Seite 1

10 Erweiterung und Portierung

1 Aussagenlogik und Mengenlehre

Erfahrungen mit Hartz IV- Empfängern

Betragsgleichungen und die Methode der Fallunterscheidungen

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Workflows verwalten. Tipps & Tricks

Anleitung über den Umgang mit Schildern

How-To-Do. Fernwartung einer VIPA Steuerung via Ethernet

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Lieferschein Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Der Zwei-Quadrate-Satz von Fermat

Information Systems Engineering Seminar

Korrelation (II) Korrelation und Kausalität

Eigenwerte und Eigenvektoren von Matrizen

4. Versicherungsangebot

CodeSaver. Vorwort. Seite 1 von 6

Transkript:

Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren).

Mathematische Maschine = Basismaschine + Programm Basismaschine: Ein-/Ausgabemechanismus Speicherstruktur Endlicher Satz von Speicheroperationen Endlicher Satz von Speichertests Programm: Festlegung der auszuführenden Folge von Operationen und Tests

Basismaschine B = (I, O, S, in, out, OP ER, T EST ) I Eingabenmenge; O Ausgabenmenge S Speicher = Menge der Speicherbelegungen in : I S (totale) Eingabefunktion out : S O (totale) Ausgabefunktion OP ER = {f 1,..., f m } endliche Menge der Operationen Operation = totale Funktion f : S S T EST = {t 1,..., t n } endliche Menge der Tests Test = totale Funktion f : S {0, 1}

Anmerkungen: Die Eingabefunktion in : I S liest die Eingabe ein und stellt diese geeignet im Speicher dar. In jedem Rechenschritt wird entweder eine Operation (=Speichertransformation) oder ein Test (= Überprüfung der Speicherbelegung bzgl. eines Kriteriums) durchgeführt. Die Ausgabefunktion out : S O entnimmt der (abschliessenden) Speicherbelegung die Ausgabe.

BEISPIEL: Eine Basismaschine B = (I, O, S, in, out, OP ER, T EST ), die zur Berechnung von 2-stelligen Funktionen f über den natürlichen Zahlen dienen soll (d.h. f : N N N): Eingabemenge: I = N N Ausgabemenge: O = N Speicher: S = N 4 (1. und 2. Komponente für Eingabe, 3. Komponente für Ausgabe, 4. Komponente zusätzlicher Speicher für eine Hilfszahl) Eingabefunktion: in : I S mit in(x 1, x 2 ) = (x 1, x 2, 0, 0) Ausgabefunktion: out : S O mit out(x 1, x 2, x 3, x 4 ) = x 3 Operationen: OP ER = {a 1,..., a 4, s 1,..., s 4 } mit a 1 (x 1, x 2, x 3, x 4 ) = (x 1 +1, x 2, x 3, x 4 ) und s 1 (x 1, x 2, x 3, x 4 ) = (x 1 1, x 2, x 3, x 4 ) etc., wobei x y = x y für x > y und x y = 0 für x y Tests: T EST = {t 1,..., t 4 } mit t i (x 1,..., x 4 ) = 1 g.d.w. x i > 0

Die Steuerung von B erfolgt durch ein B-Programm. Zur Definition von B-Programmen führen wir zunächst B-Instruktionen ein: I = (i, f, j) Operationsinstruktion i N Adresse von I f OP ER auszuführende Operation j N Nachfolgeadresse von I I = (i, t, j, k) Testinstruktion i N Adresse von I t T EST auszuführender Test j, k N mögliche Nachfolgeadressen von I j Nachfolgeadresse bei negativem Testausgang (t(s) = 0) k Nachfolgeadresse bei positivem Testausgang (t(s) = 1)

Anmerkungen: Adressen nennen wir auch (Programm-)Zustände. Anschauliche Interpretation der Instruktionen: Befindet sich die Rechnung im Zustand i wird als nächstes die Instruktion I mit Adresse i ausgeführt. Ist I = (i, f, j) eine Operationsinstruktion wird die aktuelle Speicherbelegung s in f(s) transformiert und der neue Programmzustand j angenommen. Ist I = (i, t, j, k) eine Testinstruktion wird der Test t auf die aktuelle Speicherbelegung s angewandt. Geht der Test negativ aus (t(s) = 0) ist der neue Programmzustand j, sonst k. Damit die Rechnung eindeutig ist, darf es für jeden Programmzustand i höchstens eine Instruktion mit Adresse i geben.

B-Programm P : P = I 0,..., I n ist eine endliche Folge von Instruktionen I i, wobei verschiedene Instruktionen verschiedene Adressen besitzen. (Ohne die Zusatzbedingung spricht man von nichtdeterministischen Programmen.) Ein Zustand von P ist die Adresse, Nachfolgeadresse oder mögliche Nachfolgeadresse einer Instruktion von P. Die Menge der Zustände von P wird mit Z P bezeichnet. Ein Zustand der keine Adresse ist, ist ein Stoppzustand. Weiter wird eine der Adressen als Startzustand ausgezeichnet. O.B.d.A. gehen wir im Folgenden davon aus, dass die Adresse von I 0 der Startzustand 0 ist. (In einem deterministischen Programm können wir weiter O.B.d.A. annehmen, dass stets i die Adresse von I i ist.) (Interpretation: Die Rechnung beginnt im Startzustand, d.h. die Instruktion I 0 wird als erste ausgeführt. Wird ein Stoppzustand erreicht, so kann keine Instruktion angewendet werden und die Rechnung wird beendet.) Bemerkung: Programme lassen sich graphisch durch Flussdiagramme darstellen.

BEISPIEL: Ein B-Programm P zur Berechnung der Addition für die zuvor eingeführte Basismaschine B. Idee. Zähle die erste Speicherkomponente x 1 herunter auf 0 und gleichzeitig die 0 in der dritten Komponente hoch auf x 1. Dann zähle die zweite Komponente x 2 herunter auf 0 und gleichzeitig die dritte Komponente hoch von x 1 auf x 1 + x 2. (Die 4. Komponente wird hier nicht benötigt.) (0, t 1, 3, 1) (1, s 1, 2) (2, a 3, 0) (3, t 2, 6, 4) (4, s 2, 5) (5, a 3, 3) Zugehöriges Flussdiagramm: s. Tafel

Wir können nun zusammenfassend mathematische Maschinen definieren. Eine mathematische Maschine M = (B, P ) ist eine Basismaschine B zusammen mit einem B-Programm P. Eine nichtdeterministische (nd.) mathematische Maschine M = (B, P ) ist eine Basismaschine B zusammen mit einem nichtdeterministischen B-Programm P. Bem.: Im Folgenden sind Maschinen und Programme nur dann nd., wenn dies explizit gesagt wird.

Um die Arbeitsweise einer (nd.) mathematischen Maschine M = (B, P ) formal zu beschreiben führen wir zunächst Umformungssysteme ein, darauf aufbauend Rechensysteme, und ordnen schließlich M ein Rechensystem zu. Umformungssystem: schematische Beschreibung der internen Rechnung von M Rechensystem: Erweiterung um Ein- und Ausgabeeinheit

Umformungssystem U = (KON, ) KON Menge der Konfigurationen KON KON Einschritt- oder Übergangsrelation Schreib- und Sprechweise: Statt (c, c ) schreiben wir c c und sagen c ist Nachfolgekonfiguration von c. Besitzt c keine Nachfolgekonfiguration, so heisst c Stoppkonfiguration. U ist ein deterministisches Umformungssystem, wenn jede Konfiguration höchstens eine Nachfolgekonfiguration besitzt.

Eine endliche U-Rechnung (der Länge n) ist eine Konfigurationenfolge c 0,..., c n mit c i c i+1 (i = 0,..., n 1) Ist c n eine Stoppkonfiguration, so heisst die Rechnung terminal. Eine unendliche U-Rechnung ist eine unendliche Konfigurationenfolge c 0, c 1, c 2,... mit c i c i+1 (für alle i 0) Eine U-Rechnung ist maximal, wenn sie terminal oder unendlich ist. Wir schreiben c c (c n c ), wenn es eine endliche mit c beginnende und c endende U-Rechnung (der Länge n) gibt.

Beobachtungen: Für deterministisches U gilt: Für jedes n und jede Konfiguration c gibt es höchstens eine mit c beginnende U-Rechnung der Länge n. Für jede Konfiguration c gibt es genau eine mit c beginnende maximale U-Rechnung.

Rechensystem R = (I, O, KON, In, Out, ) I Eingabemenge O Ausgabemenge In : I KON (totale) Eingabefunktion Out : KON O (totale) Ausgabefunktion U R := (KON, ) zugehöriges Umformungssystem R ist deterministisch, falls U R deterministisch ist. Die Resultatsrelation Res R I O von R is definiert durch: (x, y) Res R c(in(x) c & c Stoppkonfig. & Out(c) = y)

Für deterministisches R ist Res R rechtseindeutig, d.h. zu jeder Eingabe x gibt es höchstens eine Ausgabe y mit (x, y) Res R. Hier kann also Res R als partielle Funktion res R : I O aufgefasst werden. (Resultatsfunktion von R) Als nächstes ordnen wir nun jeder (deterministischen oder nichtdeterministischen) Mathematischen Maschine M = (B, P ) ein Rechensystem R(M) und damit eine Resultatsrelation zu. Für deterministisches M wird R(M) ebenfalls deterministisch sein, also eine partielle Resultatsfunktion liefern. Diese werden wir die von M berechnete (partielle) Funktion nennen.

Sei M = (B, P ) eine (det. oder nd.) mathematische Maschine mit B = (I, O, S, in, out, OP ER, T EST ) und P = {I i : i n}. Zu M gehörendes Rechensystem R(M): R(M) = (I, O, KON M, In, Out, M ) wobei KON M = Z P S In : I KON M mit In(x) = (0, in(x)) Out : KON M O mit Out(i, s) = out(s) M KON M KON M mit (j, f(s)) falls (i, f, j) P (i, s) M (j, s) falls (i, t, j, k) P & t(s) = 0 (k, s) falls (i, t, j, k) P & t(s) = 1

Ist M deterministisch, so ist das zugehörige Umformungssystem U M = (KON M, M ) und damit auch das zugehörige Rechensystem R(M) deterministisch, d.h. definiert eine (partielle) Resultatsfunktion res R(M) : I O. Wir nennen diese die von M berechnete (partielle) Funktion und bezeichnen diese mit ϕ M. (Im nd. Fall nennen wir entsprechend RES R(M) die von M berechnete Relation.) Statt von U M -Rechnungen sprechen wir auch von M-Rechnungen. Die M- Rechnung bei Eingabe x ist die (eindeutig bestimmte) maximale mit In(x) beginnende U M -Rechnung. Ist diese endlich, so sagen wir, dass M bei Eingabe x terminiert oder konvergiert (andernfalls divergiert M). M ist total, falls M bei jeder Eingabe terminiert. ϕ M (x) ist genau dann definiert, wenn M bei Eingabe x definiert, d.h. die Rechnung von M bei Eingabe x endlich ist. In diesem Fall gilt ϕ M (x) = Out(i, s), wobei (i, s) die letzte Konfiguration der Rechnung ist.

B-Berechenbarkeit Jede Basismaschine B = (I, O, S, in, out, OPER, TEST) (mit {0, 1} O) definiert einen Berechenbarkeits-, Entscheidbarkeits- und Aufzählbarkeitsbegriff: Eine (partielle) Funktion ϕ : I O ist (partiell) B-berechenbar, wenn es ein B-Programm P gibt, sodass ϕ = ϕ M für M = (B, P ) gilt. Eine Teilmenge A von I ist B-entscheidbar, falls die charakteristische Funktion c A von A B-berechenbar ist. Eine Teilmenge A von I ist B-aufzählbar, falls die partielle charakteristische Funktion χ A von A partiell B-berechenbar ist.

Entsprechend definiert jede Familie B von Basismaschinen einen Berechenbarkeitsbegriff. Z.B. ist eine partielle Funktion ϕ genau dann partiell B-berechenbar, wenn es eine Basismaschine B B gibt, sodass ϕ partiell B-berechenbar ist. WARNUNG: B-Berechenbarkeit impliziert i.a. nicht Berechenbarkeit im intuitiven Sinn. Hierzu muss zusätzlich sichergestellt sein, dass die Grundfunktionen von B (d.h. Ein- und Ausgabefunktion sowie die elementaren Operationen und Tests) berechenbar sind!

Notation: F (B) = {ϕ : ϕ partiell B-berechenbar} F T ot (B) = {f : f (total) B-berechenbar} F (B) und F T ot (B) sind entsprechend für Familien B von Basismaschinen definiert. Zwei Maschinen M und M sind äquivalent, wenn sie dieselbe partielle Funktion berechnen, d.h. wenn ϕ M = ϕ M gilt. Entsprechend heissen zwei Basismaschinen B und B äquivalent, wenn F (B) = F (B ) gilt, und zwei Familien von Basismaschinen B und B sind äquivalent, wenn F (B) = F (B ) gilt.