Repetitorium zur Informatik IV

Größe: px
Ab Seite anzeigen:

Download "Repetitorium zur Informatik IV"

Transkript

1 Repetitorium zur Informatik IV Christoph Kreitz September 1993 Zusammenfassung Diese Wiederholung geht nicht nach didaktischen Gesichtspunkten vor sondern faßt systematisch in Stichworten die wichtigsten Themen der Vorlesung und Ergebnisse der Übungen zur Informatik IV zusammen. Einzelne Teilthemen greifen auf Vorkenntnisse zurück, die erst zu einem späteren Zeitpunkt wiederholt werden. Das Repetitorium ist in 2 Phasen gegliedert. Vormittags wollen wir den Stoff der Informatik IV aufarbeiten, zusammenfassen und die Gelegenheit geben, Fragen von allgemeinerem Interesse im Plenum zu klären. Dafür habe ich jeweils 3-1/2 Stunden reserviert. Der Nachmittag soll dazu dienen, daß Sie versuchen dieses Wissen umzusetzen, indem Sie selbstständig ggf. in kleineren Gruppen Aufgaben bearbeiten, die sich in etwa auf Klausurniveau bewegen. Es stehen Tutoren zur Verfügung, denen Sie Fragen stellen können, wenn Sie nicht weiterkommen. Sinn ist aber nicht, noch einmal neuen Stoff zu sammeln oder vorzuführen. Die Tutoren werden sich daher sehr stark zurückhalten und Lösungen sind nur skizziert. Wir haben hierfür die Räume 11/9, 11/10 und 11/11 jeweils von reserviert. Am Freitag fällt der Raum 11/9 weg und wir haben dafür 11/100. Unsere Themen richten sich nach dem, was ich für besonders relevant halte. Manche Teilthemen der Vorlesung werden bewußt sehr kurz gehalten oder ganz weggelassen. Montag: Berechenbarkeitsmodelle, Turingmaschinen, etwas zu anderen Maschinenmodellen. Dienstag: primitiv- und µ-rekursive Funktionen, etwas zu Logik und arithmetischer Räpräsentierbarkeit Mittwoch: Entscheidbarkeit, Aufzählbarkeit und unlösbare Probleme Donnerstag: NP-Vollständigkeit und etwas zu den Randthemen Freitag: Automaten und formale Sprachen

2 2 Inhaltsverzeichnis 1 Mathematische Standardnotationen und Begriffe Worte über einem Alphabet Mengen und Funktionen Codierungen und Numerierungen Berechenbarkeit Berechenbarkeitsmodelle und Church sche These Turingmaschinen Programmiertechniken für Turingmaschinen Die Universelle Turingmaschine Andere Maschinenmodelle Die µ-rekursiven Funktionen Repräsentierbarkeit in der Theorie der Arithmetik Entscheidbarkeit und Aufzählbarkeit Definitionen und wichtige Eigenschaften Unlösbare Probleme Einige wichtige Beispiele NP-Vollständigkeit Wichtige Probleme Polynomielle Algorithmen Nichtdeterministisch-polynomielle Algorithmen Nachweise der NP-Vollständigkeit Ergänzende Themen zur NP -Vollständigkeit Formale Sprachen Grammatiken Typ-3 Sprachen, endliche Automaten und reguläre Ausdrücke Kontextfreie Sprachen

3 Informationen zur Veranstaltung Informatik IV Prof. W. Bibel / Dr. Chr. Kreitz Technische Hochschule Darmstadt Sommersemester Mathematische Standardnotationen und Begriffe Als Menge der natürlichen Zahlen haben wir die Menge IN = {0, 1, 2,...} bezeichnet. 1.1 Worte über einem Alphabet Alphabet Σ: Menge von Symbolen, z.b. Σ = {0, 1}, Σ = {0,..., 9}, Σ = {A,..., Z, a,..., z,,?,!,...} Σ : Worte über dem Alphabet Σ: Menge der endlichen Zeichenketten mit Symbolen aus Σ. Σ := n=0 Σ n, wobei Σ 0 = {ɛ}, Σ n+1 = {a w a Σ, w Σ n }. (oder Σ n := {1..n} Σ) ɛ : Das leere Wort (ohne jedes Symbol) Σ + : Menge der nichtleeren Worte über Σ: Σ {ɛ} x y : Konkatenation (Aneinanderhängung) der Worte x und y. x : Länge des Wortes x (Anzahl der Symbole): x ist das eindeutige n mit x Σ n. Die kanonische oder lexikographische Ordnung auf den Worten über einem Alphabet Σ ist wie folgt definiert: Man ordnet die Worte nach Länge, bei gleicher Länge gilt die Reihenfolge wie im Lexikon. Für Σ = {0, 1} heißt das ɛ < 0 < 1 < 00 < 01 < 10 < 11 < 000 < 001 < 010 <... In dieser kanonischen Ordnung hat jedes Wort w Σ eine eindeutig bestimmte Position. Wir schreiben w j um das j-te Wort in dieser Ordnung zu bezeichnen. 1.2 Mengen und Funktionen Der Begriff der Menge wird als elementar vorausgesetzt. Im Rahmen dieser Vorlesung wird eine Menge von Worten (also eine Teilmenge von Σ z.b. die Menge der PASCAL Programme) auch als Sprache angesehen. Typische Bezeichner sind L (language) und S (set). Eine Funktion f : S S ist eine Abbildung zwischen den zwei Grundmengen S und S, die nicht unbedingt auf allen Elementen von S definiert ist. Meist ist S = S = Σ oder S = S = IN. Der domain von f ist die Menge aller Argumente, auf denen f definiert ist: domain(f)= {x S f(x) definiert}. f ist total, wenn f überall definiert ist (domain(f)= S). Ansonsten heißt f partiell. Der range von f ist die Menge Funktionswerte von f: range(f)= {y S x S. f(x) = y}. f ist injektiv, wenn verschiedene Argumente auch verschiedene Werte liefern (x y f(x) f(y)). f ist surjektiv, wenn range(f)= S. f ist bijektiv, wenn f injektiv und surjektiv ist. Für eine injektive Funktion f : S S ist die Umkehrfunktion f 1 : S S erklärt durch f 1 (y) ist das eindeutige x S mit f(x) = y. Für X S ist f 1 (X) = {x S f(x) X} das Urbild von X unter f. (Achtung: keine Funktion) Die charakteristische Funktion χ S einer Menge S Σ ist definiert durch χ S (w) = { 1 wenn w S 0 sonst { 1 Die partielle charakteristische Funktion χ von S Σ ist definiert durch χ (w) = S S undef iniert Ähnlich gibt es charakteristische Funktionen für Teilmengen von IN. wenn w S sonst

4 Vorlesung Informatik IV 2 Informationen 1.3 Codierungen und Numerierungen Eine Codierung einer Menge S durch Σ ist eine surjektive Abbildung f cod : Σ S. Jede natürliche Zahl läßt sich durch ein Worteüber einem beliebigen Alphabet Σ codieren. Üblich ist die (partielle) Binärcodierung von natürlichen Zahlen durch Worte über Σ = {0, 1} ohne führende Nullen. 1 Eine Numerierung einer Menge S ist eine surjektive Abbildung ν : IN S. Die Standardnumerierung der Wortmenge Σ ist die Abbildung, die jeder Zahl j das Wort w j in der kanonischen Ordnung zuweist. Die Standardnumerierung der Menge IN 2 von Paaren natürlicher Zahlen ist die Umkehrfunktion der bijektiven Standard-Tupelfunktion : IN 2 IN mit x, y := (x + y)(x + y + 1)/2 + y (vgl. Ü6). { n/2 Die Standardnumerierung der ganzen Zahlen Z ist definiert durch ν Z (n) = (n + 1)/2 falls n gerade falls n ungerade Eine weitere oft benutze Numerierung ist die Numerierung der Turingprogramme, die jeder Zahl i das i-te Wort M j in der kanonischen Ordnung von {0, 1} zuweist, welches eine Gödelnummer darstellt. Codierungen und Numerierungen müssen nicht injektiv sein. Jedoch sind bijektive Codierungen und Numerierungen gut geeignet um Funktionen auf beliebigen Grundmengen durch Funktionen über Worten bzw. natürlichen Zahlen zu simulieren (und entsprechend die Berechenbarkeitsbegriffe zu übertragen). So lässt sich z.b. eine Funktion f : S S durch f : IN IN mit ν(f (n)) = f(ν(n) ) simulieren. 1 Die Codierung ist die Umkehrfunktion der Funktion bin, die jeder natürlichen Zahl ihre Binärdarstellung ohne führende Nullen zuweist.

5 Vorlesung Informatik IV 3 Informationen 2 Berechenbarkeit 2.1 Berechenbarkeitsmodelle und Church sche These In der theoretischen Informatik kennt man eine Reihe verschiedener Konzepte um den Begriff der Berechenbarkeit mathematisch zu formalisieren. Jedes Modell hat einen anschaulichen Hintergrund, wird aber davon losgelöst als mathematisches Objekt (xx-tupel) formal definiert. Die wichtigsten Modelle sind die folgenden: Maschinenorientierte Modelle Grundlage von maschinennahen, d.h. imperativen Programmiersprachen RAM ein Modell der heutigen Computer. Es gibt Register zum Lesen und Schreiben, in denen Zahlen stehen. Die Befehle entsprechen einem elementaren Assembler. Es gibt keine Begrenzung auf die Größe der Registerinhalte oder die Anzahl der Register. Turingmaschine (TM oder DTM) ein mathematische Maschine, welche die einfachste Form der Berechnung mit Papier und Bleistift beschreibt. Pro Blatt kann ein Symbol verarbeitet werden. Man kann lesen, schreiben, im Papierstapel blättern und an den Enden des Stapels ggf. neue Blätter dazunehmen. Das Programm legt fest, was in einem Zustand zu tun ist, wenn ein bestimmtes Zeichen gelesen wurde. Eine andere Anschauung ein unbegrenztes Bandes, auf dem sich ein Schreib-/Lesekopf bewegen kann. Nichtdeterministische Turingmaschine (NTM) arbeitet wie die gewöhnliche Turingmaschine. Das Programm legt nicht eindeutig fest, was zu tun ist, sondern erlaubt manchmal mehrere Alternativen. Abakus Erweiterung des mechanischen Abakus auf ein Modell mit beliebig vielen Stangen auf denen beliebig viele Kugeln aufgeschoben werden können. Es gibt nur zwei Befehle: eine Kugel hinzunehmen oder eine wegnehmen (wenn noch eine vorhanden ist). Mathematisch orientierte Modelle Grundlage funktionaler bzw. logischer Programmierpsrachen µ-rekursive Funktionen ein mathematischer Funktionenkalkül. Gewisse intuitiv-berechenbare Grundfunktionen werde vorgegeben, weitere Funktionen werden aus bekannten durch Anwendung dreier elementarer Funktionale erzeugt. Der Kalkül benötigt keine Funktionsargumente um Funktionen zu beschreiben, da jedem Symbol eine feste Interpretation als Funktion bzw. Funktional zugeordnet ist. 2 Bei Eingabe von Argumenten wird gerechnet durch schrittweises Einsetzen der Interpretation der Symbole. λ-kalkül ein elementarer mathematischer Kalkül der symbolischen Berechnung: Es gibt nur zwei Operationen: Abstraktion (Definition einer Funktion durch Argument und Funktionskörper) und Applikation (Anwenden einer Funktion auf ein Argument). Gerechnet wird durch Reduktion der Anwendung von Abstraktionen auf Argumente (Einsetzen in den Funktionskörper). Markov-Algorithmen ein Grammatik-orientierter Mechanismus basierend auf Produktionsregeln. Im Gegensatz zu Grammatiken gibt es eine feste Strategie, welche Produktion wann anzuwenden ist. Verarbeitet werden Eingabeworte, statt nur mit einem Startsymbol zu beginnen. Arithmetische Repräsentierbarkeit Spezifikation von Funktionen in einem arithmetisch-logischen Kalkül Q. Die Symbole der Sprache haben keine feste Bedeutung, aber es gibt Axiome, welche ihre Interpretationen einschränken. Eine Funktion ist repräsentierbar, wenn es eine Formel gibt, welche das Ein-/Ausgabeverhalten eindeutig spezifiziert. Eindeutigkeit muß logisch aus den Axiomen ableitbar sein. Mit diesen Modellen haben wir definiert Berechenbarkeit von Funktionen auf Worten (f : Σ Σ ) und Zahlen (f : IN IN). Je nach Modell heißen solche Funktione Turing-berechenbar, RAM-berechenbar, Abakus-berechenbar, µ-rekursiv,.... Wegen der Äquivalenz dieser Begriffe (Satz 2.1) heißt eine berechenbare Funktion auch einfach nur rekursive Funktion. Eine rekursive Funktion, die überall definiert ist (also total ist) heißt auch total-rekursiv. Eine rekursive Funktion, die nicht überall definiert ist heißt auch partiell-rekursiv. rekursiv ist im Rahmen der Vorlesung der Oberbegriff für beides. (Achtung: in der Literatur ist zuweilen partiell-rekursiv der Oberbegriff) 2 Man vergleiche dies mit dem Ableitungsoperator d/dx in der Analysis

6 Vorlesung Informatik IV 4 Informationen Berechenbarkeit von Mengen von Worten (L Σ, auch Sprache genannt) bzw. Mengen von Zahlen (L IN). Dabei bezieht sich die Berechenbarkeit auf das Problem, zu entscheiden, ob ein Objekt zu der Menge gehört oder nicht, d.h. eigentlich auf die Berechenbarkeit der charakteristischen Funktion der Menge. Gibt es einen Algorithmus, der auf diese Frage immer korrekt mit ja oder nein (oder mit 0 und 1 o.ä.) antwortet, so heißt die Menge entscheidbar (oder ebenfalls rekursiv). Da dieser Begriff relativ stark ist, definiert man ein schwächeres zweites Konzept. Eine Menge heißt semientscheidbar (oder rekursiv-aufzählbar), wenn es einen Algorithmus gibt, der immer hält und ja antwortet, wenn die Eingabe zur gesuchten Menge gehört, und ansonsten entweder nicht hält oder nein antwortet. Über Codierungen bzw. Numerierungen kann der Begriff der Berechenbarkeit auf Funktionen bzw. Mengen über anderen Grundmengen wie den ganzen Zahlen oder Tupel fortgesetzt werden. Es zeigt sich, daß die durch die verschiedenen Modelle definierten Berechenbarkeitsbegriffe alle äquivalent sind. Theorem 2.1 Die Klassen der Turing-berechenbaren, Abakus-berechenbaren, RAM-berechenbaren, µ-rekursiven, und arithmetisch räpräsentierbaren Funktionen sind identisch. Die grundsätzliche Beweisidee ist jeweils eine Simulation des jeweiligen Berechenbarkeitsbegriffes durch einen anderen. Wir haben gezeigt RAM-berechenbar Turing-berechenbar. Einzelschrittsimulation einer beliebigen RAM durch eine TM: Auf einem Band wird gearbeitet und auf einem zweiten codieren wir den derzeitigen Zustand der RAM (welche Register sind in Benutzung und was sind ihre Inhalte). NTM-berechenbar Turing-berechenbar. Simulation aller möglichen Rechenwege einer NTM durch eine TM: Die Rechenzeit wächst exponentiell. Turing-berechenbar RAM-berechenbar. Einzelschrittsimulation einer beliebigen halbseitigen TM durch eine RAM: Jede Bandzelle wird durch ein Register dargestellt. Zusätzlich verwalten 3 Arbeitsregister die Kopfposition, den Zustand und das aktuell gelesene Symbol. Abakus-berechenbar RAM-berechenbar. Einzelschrittsimulation eines beliebigen Abakusprogramms durch eine RAM: Die Abakusregister sind RAM register, Befehle eines Abakus sind praktisch auch RAM-Befehle. µ-rekursiv Abakus-berechenbar. Angabe von Abakusprogrammen für die Grundfunktionen und für Komposition, Primitive Rekursion und Minimalisierung Turing-berechenbar µ-rekursiv. Beschreibung der Einzelschrittfunktion für Konfigurationsübergänge einer beliebigen TM durch eine komplexe primitiv-rekursive Funktion. Einsatz der Minimalisierung zur Bestimmung der Anzahl der Iterationen dieser Funktion bis zur Terminierung. µ-rekursiv arithmetisch räpräsentierbar. Darstellung von Grundfunktionen und Operatoren durch logische Formeln. Elimination der Primitiven Rekursion durch das Zwischenkonzept min-rekursiv Der Nachweis, daß alle wichtigen Berechenbarkeitsbegriffe äquivalent sind, führte zu der Vermutung, daß es keinen weitergehenden Berechenbarkeitsbegriff mehr geben kann. Church sche These: Die Klasse der rekursiven Funktionen stimmt mit der Klasse der intuitiv berechenbaren Funktionen überein. Dies ist natürlich keine Aussage, die man (im Gegensatz zur Äquivalenz der Berechenbarkeitsbegriffe) beweisen, sondern bestenfalls nur widerlegen kann. Neben ihrer eigentlichen Bedeutung ( egal welches Modell man versucht aufzustellen man wird über die rekursiven Funktionen nicht hinauskommen ) birgt diese These auch eine wichtige Arbeitshypothese in sich, welche das Führen von Beweisen in der theoretischen Informatik erheblich erleichtert. Die These was intuitiv berechenbar ist, ist auch Turing-berechenbar, µ-rekursiv,... entbindet einen von der Verpflichtung, Beweise über die Existenz gewisser Turingprogramme bis ins letzte Detail führen zu müssen. Dies erlaubt Beweise der Art Es gibt eine TM, die folgendes tut..., da man sicher ist, die entsprechenden Details ggf. nachreichen zu können (vorausgesetzt, man ist in der Lage, eine intuitive Berechnungsmethode anzugeben). In der Komplexitätstheorie ist diese Vorgehensweise unerläßlich, da sonst die Beweise unüberschaubar werden.

7 Vorlesung Informatik IV 5 Informationen 2.2 Turingmaschinen Für die formale Ausformulierung von Turingmaschinen gibt es mindestens 10 verschiedene Varianten. Unterschiede liegen in Ein/Ausgabekonventionen, Stop-Bedingungen, der Art der Befehle usw. In der Vorlesung haben sie mindestens 2 kennengelernt und das Buch von Wegener ist in sich selbst nicht sehr einheitlich, da die meisten Informationen im Fließtext zu finden sind und er immer wieder auf verschiedene Varianten zurückgreift, gerade was Stop-Bedingungen angeht. Da hierdurch eine Menge Unsicherheiten entstanden sind, will ich hier eine Variante mathematisch präzise ausformulieren in etwa im Stil des letzten Drittels der Vorlesung. Die Definition, die ich gebe, ist so im Wegener nicht zu finden, formuliert aber einige der dort gegebenen Gedanken aus. Ich lege damit einige Dinge fest, die im Wegener freier gehalten werden. Natürlich sind Sie nicht verpflichtet, diese Definitionen zu verwenden, aber ich bin sicher, daß dadurch eine präzisere Beschreibung erleichtert wird. Wegener 9-13, Folien 6 13 Definition 2.2 Eine Turingmaschine ist ein 7-Tupel M = (Q, Σ, Γ, B, q 0, δ, F ) mit Q endliche Zustandsmenge Σ endliches (Eingabe-)Alphabet Γ Σ endliches (Band-)Alphabet B Γ Σ (Blankbuchstabe) q 0 Q (Startzustand) δ : Q Γ Q Γ {R, L, N} (Zustandsüberführungsfunktion) F Q (Menge der akzeptierenden Endzustände) Wesentlich bei ist die Zustandsüberführungsfunktion δ, da alle anderen Komponenten implizit in ihr enthalten sind. δ kann je nach Bedarf als Funktion, Tabelle, oder als Graph angegeben werden. Definition Eine Konfiguration einer Turingmaschine M ist ein Wort α q β mit α, β Γ, q Q. ( M befindet sich im Zustand q, links vom Kopf befindet sich das Wort α, rechts vom Kopf das Wort β, wobei der Kopf über dem ersten Symbol von β steht ). 2. Unmittelbare Nachfolgekonfiguration α q β von α q β: α q β α q β. ( Konfiguration α q β entsteht aus α q β durch Anwendung eines Rechenschrittes ). Formale Definition durch Fallunterscheidung: αa q aβ α q a bβ falls δ(q, a) = (q, b, L) αa q aβ αa b q β falls δ(q, a) = (q, b, R) αa q aβ αa q bβ falls δ(q, a) = (q, b, N) 3. Nachfolgekonfiguration α q β von α q β: α q β α q β n IN. α q β n α q β wobei α q β 0 α q β und α q β n+1 α q β q, α, β. α q β α q β α q β n α q β 4. Stopzustände: Q s = {q Q a Γ.δ(q, a) = (q, a, N)} 3 Eingabecodierung: EC(w) = q 0 w für w Σ Ausgabecodierung: AC(α q wbβ) = w, wobei q Q. α, β Γ, w Σ ( Ausgabe des Wortes beginnend ab der Kopfposition bis zum ersten Blank ) ( Der Kopf ist über dem ersten Symbol des Eingabewortes ) Eine Turingmaschine beginnt ihre Berechnung in der durch die Eingabecodierung erzeugten Konfiguration und rechnet, bis ein Stopzustand erreicht ist. Dann gibt sie ihr Ergebnis entsprechend der Ausgabecodierung aus. 3 Wegener kennt noch Stopkonfigurationen: K s = {α q aβ δ(q, a) = (q, a, N)}, die wir hier aber nicht verwenden wollen

8 Vorlesung Informatik IV 6 Informationen Definition 2.4 Eine Turingmaschine M berechnet eine Funktion f : Σ Σ (möglicherweise partiell) genau dann, wenn für alle Worte w domain(f) gilt α, β Γ. q Q s. q 0 w α q f(w) Bβ M berechnet eine Funktion f : IN IN genau dann, wenn sie die Funktion f : {0, 1} {0, 1} mit der Eigenschaft f (bin(n)) = bin(f(n)) berechnet. Eine Funktion f heißt Turing-berechenbar genau dann, wenn es eine Turingmaschine M gibt, die f berechnet. Eine Turingmaschine M akzeptiert ein Wort w Σ genau dann, wenn α, β Γ. q F. q 0 w α q β 4 M akzeptiert eine Zahl n IN genau dann, wenn sie das Wort bin(n) akzeptiert. Ähnliche Definitionen können für Berechenbarkeit auf Tupeln von Worten oder Zahlen bzw. das Akzeptieren von Tupeln gegeben werden. Beispiel: Eine Turingmaschine, die für jedes Wort w {0, 1} den lexikographischen Vorgänger w v berechnet ist zu konstruieren und ihre Korrektheit ist zu beweisen. Idee: Ersetze von rechts nach links Nullen durch Einsen bis die erste Eins kommt, die durch Null ersetzt wird. Der Rest des Wortes bleibt unverändert. Besteht das Wort nur aus Nullen, so muß die erste Eins wieder gelöscht werden. Im Detail: 1. Zunächst bewegen wir den Kopf über das letzte Symbol des Wortes (Ein Durchlauf in q 0 ) 2. Beim Durchlauf von rechts nach links ersetze in q 1 Nullen durch Einsen, bis eine Eins kommt. Diese ersetze durch eine Null und laufe in q 2 an das linke Ende des Wortes. 3. Kommt keine Eins, so gehe in q 3 zurück auf das erste Symbol (eine Eins), lösche diese und gehe auf das zweite Symbol. Für die spezielle Eingabe ɛ ist das erste Symbol ein Blank und nichts ist zu tun. Übergangstabelle δ 0 1 B q 0 (q 0,0,R) (q 0,1,R) (q 1,B,L) q 1 (q 1,1,L) (q 2,0,L) (q 3,B,R) q 2 (q 2,0,L) (q 2,1,L) (q 4,B,R) q 3 (q 4,B,R) (q 4,B,N) q 4 Korrektheit: Es sei w = w 1...w n das Eingabewort (w = ɛ für n = 0) Startkonfiguration ist q 0 w 1...w n. Nach i n Schritten ist w 1...w i q 0 w i+1...w n erreicht (Induktionsbeweis). Also q 0 w 1...w n n w 1...w n q 0. Nächster Schritt: w 1...w n q 0 1 w 1...w n 1 q 1 w n (bzw. w 1...w n q 0 1 q 1 für w = ɛ) Für die weitere Untersuchung unterscheiden wir drei Fälle: 1. w = w 1...w n k k für ein k {0..n 1}. Dann ist w v = w 1...w n k k der lexikographische Vorgänger von w und M rechnet wie folgt weiter: w 1...w n 1 q 1 w n k w 1...w n k 1 q k 1 w 1...w n k 2 q 2 w n k k n k 1 q 2 B w 1...w n k k 1 q 4 w 1...w n k k = q 4 w v M stoppt und gibt w v aus. 2. w = 0 n, wobei n > 0. Dann ist w v = 1 n 1 : w 1...w n 1 q 1 w n n q 1 B 1 n 1 q 3 1 n 1 q 4 1 n 1 = q 4 w v 3. w = ɛ. Dann ist w v = ɛ: q 1 1 q 3 1 q 4 = q 4 w v In allen Fällen ist also bewiesen q 0 w q 4 w v. Damit berechnet M den lexikographischen Vorgänger. Übung: Konstruiere Turingmaschinen über Σ={0, 1} für die folgenden Probleme und beweise ihre Korrektheit. Berechnung der Nullfunktion z mit z(n) = 0 Akzeptieren von ungeraden Zahlen (in Binärdarstellung) Berechnung der Funktion f mit f(n) = n + 2 (welche Fälle sind im Beweis zu unterscheiden?) Berechnung der Funktion f mit f(n) = 8n 4 Die Definition von akzeptiert macht natürlich nur Sinn, wenn alle akzeptierenden Endzustände auch Stopzustände sind, also F Q s gilt. Wegener gibt noch eine weitere Definition, die i.w. der Berechenbarkeit der charakteristischen Funktion entstpricht.

9 Vorlesung Informatik IV 7 Informationen Programmiertechniken für Turingmaschinen Wegener gibt eine Reihe von Programmiertechniken an, die eine Beschreibung von Turingmaschinen erleichtern sollen. Dies ist i.w. für Beweiszwecke gedacht, weniger für das konkrete Programmieren komplexerer Aufgaben was sowieso keiner machen sollte. Wichtig ist, daß diese Techniken zu verstehen sind als abkürzende Beschreibung einer gewöhnlichen Turingmaschine vielleicht in der Art wie die Verwendung von Macros im Assembler. Leider gab es da (auch bei mir) am Anfang etwas Verwirrung. Auf den Folien haben wir beschrieben, wie das entsprechende Konzept arbeitet (d.h. als ob es ein neues Modell wäre) und dann gezeigt, wie man dieses durch eine gewöhnliche Turingmaschine simuliert. 5 Das bedeutet, daß man ab jetzt diese Techniken verwenden darf als ob das Modell zur Verfügung stände. Die wichtigsten Konzepte sind: Wegener 14-16, Folien Erweitertes Bandalphabet: Hinzunahme beliebig vieler neuer Symbole. Simulation in linearer Zeit durch Codierung des erweiterten Bandalphabets in Γ Dies erlaubt es einerseits einen beliebig großen Zeichensatz für die Programmierung zu benutzen, bei theoretischen Betrachtungen aber die Annahme zu verwenden, daß Σ = {0, 1} und Γ = {0, 1, B} ist. Mehrspurmaschinen: Das Arbeitsband mit Bandalphabet Γ besitzt mehrere (k) Spuren über die sich der Kopf gleichförmig bewegt. Ein/Ausgabe auf der ersten Spur. Simulation in linearer Zeit durch Erweiterung des Bandalphabets auf Γ k Γ. Im ersten Schritt muß die Eingabe w Σ umgewandelt werden in k-tupel, welche die Symbole von w in der ersten Komponente haben. Im letzten Schritt müssen die k-tupel wieder in Symbole aus Γ umgewandelt werden, wobei nur die erste Komponente übrigbleibt. Mehrspurmaschinen erlauben, sich auf die Betrachtung von Turingmaschinen mit einem halbseitigen Band einzuschränken (das ein linkes aber kein rechtes Ende hat), was manche theoretische Überlegung erleichtert. Mehrbandmaschinen: Die Maschine besitzt mehrere (k) Arbeitsbänder mit Bandalphabet Γ und sich unabhängig bewegenden Köpfen. Simulierbar in quadratischer Zeit durch eine 2k+1-Spur Maschine mit Markern für die aktuellen Kopfpositionen und das jeweilige Bandende. Verwendung einer anderen Turingmaschine M als Unterprogramm. M darf als black box angesehen werden. Simulation durch eine Zweibandmaschine: Modifiziere das Programm von M so, daß alle Zustände verschieden sind und M nur auf dem zweiten Band arbeitet. Kopiere Eingabedaten für M auf das zweite Band. Gehe in den Anfangszustand von M und arbeite bis M stoppt. Kopiere das Ergebnis in den vorgesehenen Bereich des ersten Bandes. Gehe in den Folgezustand des rufenden Programms Die Universelle Turingmaschine Für theoretische Überlegungen ist es wichtig zu wissen, daß es eine Turingmaschine gibt, welche die Berechnungen jeder anderen Turingmaschine simulieren kann. Diese Erkenntnis ist nicht so überraschend. Wichtig aber ist, daß man sie beweisen kann. Das geschieht, indem man das Programm einer Turingmaschine als Wort über Σ codiert und dann eine Mehrbandmaschine baut, welche die Abarbeitung dieses Programms simuliert. Definition 2.5 Die Gödelnummer M einer Turingmaschine M ist die Codierung von M als Wort über {0, 1}. Mit M i bezeichnen wir die Turingmaschine, deren Gödelnummer M i das i-te Wort in der kanonischen Ordnung von {0, 1} ist, welches eine Gödelnummer beschreibt. M i liefert somit auch eine totale Numerierung aller Turingmaschinen und aller berechenbaren Funktionen. 5 D.h. man gibt eine Vorschrift an, wie eine äquivalente Turingmaschine zu bauen ist indem man das ursprüngliche Programm (abstrakt) aufschlüsselt und sagt wie daraus ein neues Programm zu konstruieren ist und wie die anderen Komponenten der neuen Turingmaschine auszusehen haben (vgl. Übung 2.4)

10 Vorlesung Informatik IV 8 Informationen Theorem 2.6 (utm-theorem) Es gibt eine Turingmaschine UT M, die für alle Worte w {0, 1} und alle Gödelnummern M bei Eingabe des Wortes M w genau dasselbe Ergebnis berechnet wie die Turingmaschine M bei Eingabe des Wortes w. 6 Ein zweites Theorem wurde in Reduktionsbeweisen oft implizit benutzt aber nie ausformuliert. Will man die Berechnung zweier Turingmaschinen M i und M j koppeln, so kann man immer den Index (die Gödelnummer) des resultierenden Programms aus i und j berechnen. Dies ist nicht verwunderlich, da man ja aus zwei separaten Programmen das kombinierte Programm als Gödelnummer codieren kann Theorem 2.7 (smn-theorem) Es gibt eine berechenbare Funktion s : IN 2 IN mit der Eigenschaft: Für alle Worte w {0, 1} und alle Indizes m, n IN berechnet die Turingmaschine M s(m,n) bei Eingabe von w dasselbe wie die Turingmaschine M m bei Eingabe des Wortes w n w Hiervon gibt es auch eine Variante, die auf Worten arbeitet statt auf Zahlen. Der Effekt ist, daß man wie z.b. in Reduktionsbeweisen wie für das spezielle Halteproblem H ɛ einen Teil der Eingabe verschwinden lassen kann und dann stattdessen im Index der Maschine wieder auftaucht. Das Theorem hat nur eine technische Bedeutung, liefert aber keine eigenständigen theoretischen Einsichten. 2.3 Andere Maschinenmodelle RAM: Im wesentlichen dasselbe wie ein einfacher Assembler. Die Befehle sind im Wegener bzw. auf den Folien aufgelistet. Wir haben außer der intuitiven Erklärung keine formale Bedeutung angegeben. Deshalb kann man hierzu auch bestenfalls kleine Programme schreiben lassen, aber keine Korrektheitsbeweise geben. Ich gehe davon aus, daß Sie Assembler programmieren können und will deshalb nicht weiter darauf eingehen. Folien 3 4, Wegener 7 8 Abakus: Es gibt unendlich viele Register, die durch zwei Arten von Befehlen verändert werden können. Addiere 1 zu Register n und fahre fort mit Befehl b Wenn Register n leer ist fort mit Befehl b. Ansonsten subtrahiere 1 im Register n und fahre fort mit Befehl b Die Befehle entsprechen den Additions und Subtraktionsbefehlen der RAM gekoppelt mit IF und GOTO. Daher bietet sich an, Programme als Flußdiagramme zu zeichnen anstatt eine Befehlsliste anzugeben. Deshalb haben wir eine kurze graphische Form für die beiden Befehle und verzichten auf Befehlsnummern. b b n+ n- e b b b Folien 22 28, Boolos/Jeffrey 52 60, Non-Skript 9 13 Übung: Man gebe Abakusprogramme als Diagramme für folgende Aufgaben (ohne Beweis) Leere das Register m Addiere 3 zum Register m Addiere Register m auf Register n (der Inhalt von Register m interessiert danach nicht) Verdoppele Register m (der Inhalt anderer Register interessiert danach nicht) Quadriere Register m (der Inhalt anderer Register interessiert danach nicht) 6 Im folgenden bezeichnen wir kurz mit M(w) das Ergebnis der Turingmaschine M bei Eingabe des Wortes w

11 Vorlesung Informatik IV 9 Informationen 2.4 Die µ-rekursiven Funktionen Primitiv und µ-rekursive Funktionen sind vielleicht der älteste konkrete Ansatz überhaupt zur Erklärung von Berechnungsvorschriften (Dedekind 1888). Sie entstanden lange, bevor man über Maschinenmodelle nachdachte und sind ein mathematischer Ansatz, um berechenbare Funktionen zu beschreiben. Grundidee ist, einen Funktionenkalkül zu verwenden, also einen Kalkül, der über die Funktionen selbst spricht, aber auf die Argumente gar nicht konkret eingeht. D.h. bei der Definition der Berechnungsvorschrift kommen Argumente nicht vor, sondern nur dann, wenn konkret gerechnet wird. Dadurch wird der Ansatz relativ abstrakt, weil man nur noch mit Symbolen Kombinatoren operiert, die wenig Anschauung mit sich bringen. Dafür kann man sich dann aber die Algebra zunutze machen. Betrachten Sie deshalb die Beschreibung der µ-rekursiven Funktionen als eine sehr abstrakte mathematische Programmiersprache, die nur mit Symbolen arbeitet, denen eine feste Bedeutung als Funktion bzw. Operator zugeordnet ist. Sie kennen dies vielleicht aus der Analysis, wo der Ableitungsoperator d/dx ebenfalls nur auf Funktionssymbole ohne Argumente angewandt wird. Boolos-Jeffrey Die wesentliche Schwierigkeit für die meisten ist hierbei das Umdenken: wie beschreibe ich Funktionen, ohne ihre Argumente zu nennen? Man nennt diesen Prozess Abstraktion Statt +(x, y) = Ausdruck ohne Argumente(x, y) schreiben wir kurz + = Ausdruck ohne Argumente. Dieser Ausdruck ohne Argumente muß vollständig aus Elementen der Programmiersprache, d.h. in der Sprache der µ-rekursiven Funktionen aufgebaut sein. Im Kalkül der µ-rekursiven Funktionen gibt es ein paar Grundfunktionen, die so einfach sind, daß jeder überzeugt ist, daß sie berechenbar sind. Alles andere baut man nun aus diesen Funktionen zusammen und wählt dazu einige wenige Operationen, die Funktionen in neue Funktionen umwandlen. Natürlich müssen diese ebenfalls so einfach sein, daß man sich genau weiß, wie man die zusammengesetzen Funktionen auf dem Papier ganz schematisch ausrechnen kann. Diese Operatoren entsprechen den elementaren Programmstrukturen einer Programmiersprache: Hintereinanderausführung, For-Schleife und While Schleife. Definition 2.8 (Grundfunktionen) Die Konstanten 0, 1, 2,... IN gelten als nullstellige Funktionen (d.h. 0 IN 0 IN). Die Nullfunktion z : IN IN ist definiert durch z(n) = 0 für alle n IN Die Nachfolgerfunktion s : IN IN ist definiert durch s(n) = n + 1 für alle n IN Die Projektionsfunktionen id n m : INn IN (m n) sind definiert durch id n m (x 1,..., x n ) = x m G = IN {z, s} {id n m n, m IN 1 m n} heißt Menge der Grundfunktionen. Konstanten, Nullfunktion und Nachfolgerfunktion sind notwendig für Arithmetik. Die Projektionsfunktionen sind notwendig um Argumente herauszuprojezieren oder zu vertauschen. Definition 2.9 (Operatoren) Für alle n, m IN sind folgende Operatoren definiert: Die Komposition Cn : (IN n IN) (IN m IN) n (IN m IN) durch Cn[f, g 1...g n ](x 1,..., x m ) = f( g 1 (x 1,..., x m ),..., g n (x 1,..., x m ) ) Die primitive Rekursion P r : (IN n IN) (IN n+2 IN) (IN n+1 IN) durch P r[f, g]( x, 0) = f( x) und P r[f, g]( x, y + 1) = g( x, y, P r[f, g]( x, y)) 7 Die Minimierung Mn : (IN n+1 IN) (IN n IN) durch { min{y f( x, y) = 0} falls dies existiert und alle f( x, i), i < y definiert sind Mn[f]( x) = undefiniert sonst 7 x ist abkürzend für ein n-tupel von Zahlen

12 Vorlesung Informatik IV 10 Informationen D.h. die Komposition entspricht der Hintereinanderausführung mehrerer einfacher Funktionen. Cn nimmt eine Funktion f : IN n IN und n Funktionen g 1...g n : IN m IN und konstruiert eine neue Funktion h : IN m IN für die gilt: h(x 1,..., x m ) = f( g 1 (x 1,..., x m ),..., g n (x 1,..., x m ) ) Schreibweise: h = Cn[f, g 1...g n ] Die primitive Rekursion P r nimmt eine Funktion f : IN n IN und eine Funktion g : IN n+2 IN mit zwei Argumenten mehr und liefert eine Funktion h : IN n+1 IN für die gilt: h( x, 0) = f( x) und h( x, y + 1) = g( x, y, h( x, y)). Schreibweise: h = P r[f, g] D.h. primitive Rekursion entspricht einer einfachen Iteration von g über einem von f berechneten Startwert. Die Minimierung entspricht einer While-Schleife (unbegrenzte Suche) und liefert die Anzahl der Durchläufe bis zum Abbruch. { Mn nimmt eine Funktion f : IN n+1 IN und erzeugt eine Funktion h : IN n IN für die gilt: das kleinste y für das gilt f( x, y) = 0 falls dies existiert und alle f( x, i), i y definiert sind h( x) = undefiniert sonst Schreibweise: h = Mn[f] Ursprünglich war der Kalkül ohne die Minimierung definiert worden, da man lange Zeit keine totale Funktion kannte, die nicht alleine aus den Grundfunktionen, Komposition und primitiver Rekursion aufgebaut werden konnte. Dieser Kalkül spielt heute noch eine wichtige Rolle. Definition 2.10 (primitiv-rekursive Funktionen) Die Menge PR der primitiv-rekursiven Funktionen ist definiert als die Klasse aller Funktionen, die aus den Grundfunktionen durch Anwendung von Komposition und primitiver Rekursion aufgebaut werden können. PR = n=0 PR n wobei PR 0 = G und PR n+1 = PR n {Cn[f, g 1...g m ] m IN f, g 1...g m PR n } {P r[f, g] f, g PR n } Der Grund dafür, daß fast alle totalen berechenbaren Funktionen primitiv-rekursiv sind, liegt darin, daß man eine beschränkte Minimierung als primitiv-rekursiv nachweisen kann (vgl. Ü5.4-j). Da dieser Operator in praktischen Beispielen eine wichtige Rolle spielt habe ich in der Musterlösung der Probeklausur das Symbol Mn b eingeführt. Definition 2.11 (beschränkte Minimierung) Für alle n IN ist die beschränkte Minimierung Mn b : (IN n+1 IN) (IN n+1 IN) definiert durch { min{y t f( x, y) = 0} falls dies existiert und alle f( x, i), i y definiert sind Mn b [f]( x, t) = t + 1 sonst Die beschränkte Minimierung entspricht einer While-Schleife mit einer oberen Grenze für die Anzahl der Durchläufe (begrenzte Suche). 8 Solche Schleifen können prinzipiell auch durch FOR-Schleifen (primitive Rekursion) ersetzt werden, sind oft aber erheblich eleganter. Mn b nimmt { also eine Funktion f : IN n+1 IN und erzeugt eine neue Funktion h : IN n+1 IN für die gilt: das kleinste y t für das gilt f( x, y) = 0 falls dies existiert h( x, t) = t + 1 sonst Im Gegensatz zur unbeschränkten Minimierung ist die Anzahl der Argumente von f und h gleich. Jedoch ist das letzte Argument von h die Grenze, welche den Laufparameter (das letzte Argument von f) limitiert. Es ist Mn b [f]( x, t) = Mn t [f]( x) in der Schreibweise von Ü5.4-j. Die Schreibweise Mn b [f] benötigt aber im Gegensatz zu Mn t keine Argumente mehr. Erst mit derackermann-funktion (vgl. Ü5) wurde 1928 bewiesen, daß die Klasse der primitiv-rekursiven Funktionen zu klein ist, um alle berechenbaren Funktionen zu beschreiben (das war immer noch vor den anderen Modellen). Dies führte dann zur Hinzunahme der Minimierung und den µ-rekursiven Funktionen. 8 Den Unterschied zwischen den beiden Minimierungen kann man an folgenden Programmstücken erklären: Unbeschränkte Minimierung x := 0; WHILE bed(x) Beschränkte Minimierung x := 0; WHILE bed(x) and x t DO x=x+1 ;... END DO x=x+1 ;... Return x. Return x. END

13 Vorlesung Informatik IV 11 Informationen Definition 2.12 (µ-rekursive Funktionen) Die Menge R der µ-rekursiven Funktionen ist definiert als die Klasse aller Funktionen, die aus den Grundfunktionen durch Anwendung von Komposition, primitiver Rekursion und Minimierung aufgebaut werden können. R = n=0 R n wobei R 0 = G und R n+1 = R n {Cn[f, g 1...g m ] m IN f, g 1...g m R n } {P r[f, g] f, g R n } {Mn[f] f R n } Es ist relativ leicht, eine vorgegebene Funktion auf bestimmten Argumenten auszurechnen. Man muß nur schrittweise die Interpretation der Funktionen einsetzen bis ein Ergebnis dasteht, was allerdings recht stupide ist (wer spielt schon gerne Computer). Beispiel: Um P r[id 1 1, Cn[s, id3 3 ]](5, 2) zu berechnen, schauen wir zunächst auf den äußere Operator. Dies ist P r und das zweite Argument ist größer als 0. Wir müssen also die zweite Gleichung in der Definition von P r einsetzen solange bis ein zweites Argument 0 herauskommt und anschließend die erste. Danach simplifizieren wir wir die Komposition. 9 Es geht auch übersichtlicher, wenn wir die Komposition frühzeitig simplifizieren, soweit dies möglich ist. P r[id 1 1, Cn[s, id3 3 ]](5, 2) P r[id 1 = Cn[s, id 3 1, Cn[s, id3 3 ]](5, 2) 3 ](5, 1, P r[id1 1, Cn[s, id3 3 ]](5, 1)) = Cn[s, id 3 = Cn[s, id 3 3 ](5, 1, P r[id1 1, Cn[s, id3 3 ]](5, 1)) 3 ](5, 1, Cn[s, id3 3 ](5, 0, P r[id1 1, Cn[s, id3 3 ]](5, 0))) = s(id 3 = Cn[s, id 3 3 (5, 1, P r[id1 1, Cn[s, id3 3 ]](5, 1))) 3 ](5, 1, Cn[s, id3 3 ](5, 0, id1 1 (5))) = s(p r[id 1 = Cn[s, id 3 1, Cn[s, id3 3 ]](5, 1)) 3 ](5, 1, Cn[s, id3 3 ](5, 0, 5)) = s(cn[s, id 3 = Cn[s, id 3 3 ](5, 0, P r[id1 1, Cn[s, id3 3 ]](5, 0))) 3 ](5, 1, s(id3 3 (5, 0, 5))) = s(s(id 3 = Cn[s, id 3 3 (5, 0, P r[id1 1, Cn[s, id3 3 ]](5, 0)))) 3 ](5, 1, s(5)) = s(s(p r[id 1 = Cn[s, id 3 1, Cn[s, id3 3 ]](5, 0))) 3 ](5, 1, 6) = s(s(id 1 = s(id 3 1 (5))) 3 (5, 1, 6)) = s(s(5)) = s(6) = s(6) = 7 = 7 Meist ist die Problemstellung jedoch umgekehrt. Sie bekommen eine Funktion vorgegeben und sollen zeigen, daß diese primitiv- oder µ-rekursiv ist (letzteres ist aus o.g. Gründen recht selten). Wie bei einer Programmieraufgabe müssen Sie also die Beschreibung der Funktion in die Syntax der primitiv-rekursiven Funktion übersetzen, d.h. ein Programm in der Sprache PR schreiben. Das größte Problem ist dabei erfahrungsgemäß die primitive Rekursion: sie kennen h und müssen f und g finden mit h = P r[f, g] und die Rahmenbedingungen einhalten. f muß immer eine Stelle weniger haben als h und g eine mehr und die Rekursion muß über das letzte Argument gehen. Davon darf nicht abgewichen werden. Deswegen brauchen wir Projektionsfunktionen und Komposition, um die Argumente in der richtigen Anzahl und an der richtigen Stelle einsetzen zu können. Es empfiehlt sich dabei zunächst eine Funktionsgleichung für die vorgegeben Funktion aufzustellen, in der nur bereits bekannte Funktionen und die Argumente auftauchen. Dies kann eine Rekursionsgleichung sein oder eine Minimierungsgleichung oder eine einfache Hintereinanderausführung mehrerer Funktionen. Gelingt dies nicht unmittelbar, so muß das Problem eventuell zerlegt werden, z.b. wenn die Funktion zusammengesetzt ist aus mehreren anderen, von denen eine durch eine Rekursionsgleichung zu beschreiben ist, eine andere durch Minimierung usw. Die Funktion ergibt sich dann durch Komposition dieser anderen Funktionen. Sind alle Gleichungen aufgestellt so kann man schrittweise umwandeln in die Operatorschreibweise indem man schrittweise die Argumente nach außen schiebt und hierfür ggf. Komposition und Projektionen einsetzt. { 1 falls x Primzahl ist Beispiel: In der Probeklausur hatten wir die Funktion prim mit prim(x) = 0 sonst x ist eine Primzahl g.d.w. keine Zahl y mit 1 < y < x ein Teiler von x ist. Die Funktion teilt ergibt sich also als Unterproblem, auf die sich alles andere abstützen wird. Wir müssen also eine Beschreibung für teilt finden und zeigen, wie diese zur Konstruktion des Primzahltest eingesetzt werden kann. In der Klausur war die Funktion teilt unmittelbar davor genannt worden, also können wir sie benutzen (Das ist wichtig!). 9 Man darf die Rekursion auch durch eine Iteration ersetzen und die Werte P r[id 1 1, Cn[s, id 3 3]](5, i) für i = 0, 1, 2 der Reihe nach berechnen. Damit entfällt zwar die geschlossene Gleichungskette, aber es mag für manche übersichtlicher sein.

14 Vorlesung Informatik IV 12 Informationen Die Bedingung keine Zahl y mit 1 < y < x ist Teiler von x ist etwas umständlich zu handhaben, da wir einen beschränkten All-quantor brauchen, den wir aber noch nicht haben. Man könnte nun das generelle Produkt oder die generelle Summe aus Übung 5.4 einsetzen oder eben die beschränkte Minimierung. Letztere finde ich am einfachsten zu handhaben, da sie am elegantesten eine Suche ausdrückt. Da wir wissen, daß x Teiler von x ist können wir statt keine Zahl y mit 1 < y < x ist Teiler von x sagen die kleinste Zahl y > 1, die x teilt ist die Zahl x selbst, also x = min{y > 1 y teilt x}. Jetzt müßsen wir nur noch eine obere Grenze angeben und wir haben unsere Gleichung. Diese Grenze ist natürlich x, denn weiter brauchen wir nicht zu suchen. { 1 falls min{y x y > 1 y teilt x} = x prim(x) = 0 sonst Wir wandeln zunächst den min -Ausdruck um, um die Form der beschränkten Minimierung zu erhalten. Dazu müßsen wir etwas jonglieren, um die innere Bedingung durch einen Ausdruck h(x, y) = 0 zu beschreiben. Da die Funktion teilt nur im Mißerfolgsfall eine 0 liefert vergleichen wir erst einmal mit 0. min{y x y > 1 y teilt x} = min{y x y. 1 0 teilt(x, y) 0} Jetzt ersetzen wir das durch eine Multiplikation und y. 1 durch p(y), wobei p die bekannte Vorgängerfunktion ist. Anschließend vertauschen wir die Werte 0 und 0 mit der Signumfunktion. min{y x y. 1 0, teilt(x, y)) 0} = min{y x p(y) teilt(x, y) 0} = min{y x sg(p(y) teilt(x, y)) = 0} Sei f(x, y) = sg(p(y) teilt(x, y)). Dann ist f = Cn[sg, Cn[, Cn[p, id 2 1 ], teilt]] und { 1 falls min{y x f(x, y) = 0} = x prim(x) = 0 sonst Es bleibt also noch der Test auf Gleichheit, der eine 1 liefern muß im Erfolgsfall. Wir bilden dazu die absolute Differenz, ersetzen den min-ausdruck durch Mn b [f](x, x) und wenden die Signumfunktion an. prim(x) = sg( Mn b [f](x, x) x ) also prim= Cn[sg, Cn[absdiff, Cn[Mn b [f], id, id], id]](x) Insgesamt also und das muß man nicht unbedingt mehr einsetzen prim= Cn[sg, Cn[absdiff, Cn[Mn b [ Cn[sg, Cn[, Cn[p, id 2 1], teilt]] ], id, id], id]](x) Das war jetzt ein etwas aufwendiges Beispiel mit einer etwas anderen Lösung als in der Klausur. Es gibt auch ganz andere Lösungen dazu und nicht alle Gedanken müssen wirklich so ausführlich durchdacht werden. Übung: Berechne durch schrittweise Abarbeitung P r[1, Cn[z, id 2 1 ]](3) P r[id 1 1, Cn[p, id3 3 ]](4, 2) Übung: Zeige, daß die folgenden Funktionen primitiv-rekursiv bzw. µ-rekursiv sind. Gib dazu zunächst eine Funktionsgleichung mit Argumenten, welche die Funktion durch bereits bekannte Funktionen ausdrückt und wandle diese in einem letzten Schritt um in einen Ausdruck des Kalküls. kgv mit kgv (x, y) = das kleinste gemeinsame Vielfache von x und y ggt mit ggt (x, y) = der größte gemeinsame Teiler von x und y { 1 falls x ungerade odd mit odd(x) 0 sonst { Rest der Division von x durch y falls y > 0 mod mit mod(x, y) = x sonst { x/y falls y > 0 Div mit Div(x, y) = undefiniert sonst alle Funktionen aus Übung 5.4 und der Klausuraufgabe 4

15 Vorlesung Informatik IV 13 Informationen 2.5 Repräsentierbarkeit in der Theorie der Arithmetik Wir hatten ein weiteres Berechenbarkeitsmodell angegeben, das auf Logik und Beweisbarkeit oder Ableitbarkeit beruht. Man versucht, eine Formel anzugeben, welche das Verhalten einer Funktion eindeutig beschreibt. Als Zusatzbedingung kommt hinzu, daß diese Eindeutigkeit logisch aus den Axiomen der zugrundeliegenden Theorie ableitbar sein muß und diese Ableitbarkeit ist im Endeffekt der Berechnungsmechanismus. Boolos/Jeffrey , Folien Zusatzfolien Logische Formeln und Quantoren haben wir in der Vorlesung kurz eingeführt. Sie können die Aufstellung auf den Folien gut als Referenz verwenden. Die Prädikatenlogik besteht aus einer formalen Sprache und ihrer Semantik. Die Sprache kennt logische Symbole wie,,,,,,, =, (, ) und Variablennamen, die eine ganz eindeutig festgelegt Interpretation haben, und nichtlogische Funktions- und Prädikatszeichen (Konstante sind nullstellige Funktionszeichen), deren Interpretation noch gewählt werden kann. In der Sprache der Prädikatenlogik kann man nun Terme und Formel bilden und schließlich Sätze das sind Formeln ohne freie Variablen aufstellen. Die Semantik einer Formel bzw. eines Satzes ergibt sich nun dadurch, daß man alle nichtlogischen Symbole in einem Universum interpretiert und dann gemäß der Regeln für die logischen Symbole die Bedeutung ausrechnet. Ergibt diese Berechnung für einen Satz eine 1, dann sagen wir der Satz ist wahr unter der Interpretation. Natürlich gibt es für alle nichtlogischen Symbole normalerweile eine intendierte Bedeutung so wird + normalerweise als Addition interpretiert aber darauf läßt sich die Logik an sich nicht ein. Solange es um Beweisbarkeit oder Ableitbarkeit geht, darf die konkrete Interpretation keine Rolle spielen. Das ist sehr wichtig, da sonst Logik für Rechnerunterstützung unbrauchbar wäre Rechner verstehen keine Bedeutung. Beispiel: = 9 hat eine gewünschte Interpretation aber sie könnten diese Symbole auch mit siebzehn, acht und neun interpretiern und das +-Symbol mit der Subtraktion. Ableitbarkeit ist ein rein logischer Begriff: Ein Satz S ist ableitbar aus einer Menge T von Formeln, wenn jede Interpretation, welche die Formeln aus T wahr macht, auch S erfüllt also den Wert 1 liefert. Wir haben dafür das Symbol = T S eingeführt. T heißt oft auch Theorie oder Menge von Axiomen, je nach Verwendung. Axiome schränken mögliche Interpretationen der Symbole sehr stark ein, legen sie aber nicht immer eindeutig fest. D.h. prinzipiell kann man die Symbole auch anders interpretieren als in der Standardinterpretation und deswegen nicht alles ableiten, was in der Standardinterpretation gilt. Darauf sind wir in der 7.Übung kurz eingegangen Sie sollten dies nur als kleine Warnung merken. All dies war der notwendige Begriffsapparat, um das Konzept Repräsentierbarkeit in der Theorie der Arithmetik vorzubereiten. Wir haben dann die Theorie Q definiert, die zusätzlich zu den logischen Symbolen nur die Zeichen o,,+, kennt. Die intendierte Bedeutung dieser Symbole ist klar, wird aber eben keineswegs durch die Axiome eindeutig festgelegt. Eine Abkürzung haben wir noch eingeführt: wir schreiben kurz n für den Term o... die zwei Unterstriche sollen andeuten, daß dies ein Term, keine Zahl ist. } {{ } n mal 7 Axiome reichen, um ein Berechenbarkeitskonzept zu erzeugen, das dem der rekursive Funktionen äquivalent ist. Sie haben dazu eine Tabelle und ich will nur zwei herausgreifen: x y(x = y x = y) heißt: die Nachfolgerfunktion muß injektiv sein, xx + o = x heißt: das o-symbol ist neutrales Element der +-Operation. Kommutativität dagegen wird nicht gefordert und folgt auch nicht. Definition 2.13 Eine Funktion f : IN k IN heißt repräsentierbar in Q, wenn es eine k + 1-stellige Formel F gibt, so daß für jedes Tupel x IN k und jede Zahl z gilt: f( x) = z gilt genau dann, wenn = Q y(f ( x, y) y = z) In anderen Worten: die Formel F beschreibt die Relation zwischen den Ein- und Ausgaben von f und dies so eindeutig, daß bei Einsetzen von Termen für die Eingaben von f aus den Axiomen von Q abgeleitet werden kann, daß genau ein Wert nämlich der Term für den Funktionswert für das letzte Argument die Formel wahr macht. Dies liefert dann auch den Berechnungsmechanismus.

16 Vorlesung Informatik IV 14 Informationen Das Ganze wirkt etwas abstrakt, ist aber eine solche Formel zu finden ist verwandt mit dem, was sie zu tun haben, wenn sie die Funktionsgleichung für µ-rekursive Funktionen aufstellen, besonders dann, wenn Sie eine Minimierung beschreiben. Bei der Minimierung suchen Sie das erste Element, was eine Bedingung erfüllt, bei der Repräsentierbarkeit müssen sie zusätzlich sicherstellen, daß es kein weiteres gibt, das die Bedingung ebenfalls erfüllt. Daß dies auch noch ableitbar ist, können sie natürlich nicht so leicht überprüfen, aber sie dürfen sich darauf verlassen, daß alles ableitbar ist, was Sie auch als wahr erkennen. D.h. in der obigen Bedingung dürfen Sie die Terme durch Zahlen ersetzen und das = Q ignorieren und erhalten so die richtige Formel. Ich gebe ein paar Beispiele { undefiniert falls x < y Die partielle Funktion mit (x, y) = wird repräsentiert durch die 3-stellige x y sonst Formel F mit F (x, y, z) y + z = x. Denn es gilt für alle n, m, k n m = k m + k = n. Deshalb ist aus den Axiomen ableitbar = Q y(m + y = n) y = k) genau dann, wenn (n, m) = k ist, während für n < m die Formel für keinen Wert wahr ist. Die entsprechende totale Funktion. ist etwas aufwendiger, da Sie x < y auch in der Formel abfangen müssen. { 1 falls x y Die Funktion t mit t (x, y) = wird wie folgt dargestellt. Es ist x y z.x + z = y. Die 0 sonst Fallunterscheidung müssen wir explizit machen: F (x, y, v) ( z.x+z =y v =1) ( ( z.x+z =y) v =o) { x/y falls y > 0 Die Funktion Div mit Div(x, y) = erfüllt die Gleichung undefiniert sonst Div(x, y) = z z y x < (z+1) y y 0. Für gegebenes (x, y) wird die Formel z y x x < (z+1) y also genau dann für ein z wahr, wenn z der Integerdivisionswert x/y ist, aber niemals, wenn y = 0 ist. Damit repräsentiert die Formel D(x, y, z) z y x x < (z + 1) y y 0 die Funktion Div. Gerade die Quantoren sind wichtig, weil sie in ihrer Verwendung der Minimierung nahekommen. Minimierung heißt: es exisytiert ein Wert t, der das Problem löst und alle Werte, die größer als t sind, sind keine Lösung. Soweit zu diesem Thema: Was Sie hierbei unbedingt wissen sollten ist, wie man eine logische Formel interpretiert d.h. sie sollten ihre Bedeutung erfassen und die Standardinterpretation geben können was der Begriff der Repräsentierbarkeit bedeutet. Auch sollten Sie für ganz einfache Funktionen eine Formel hinschreiben können. Übung: Gib Formeln an, welche die folgenden Funktionen repräsentieren. z mit z(x) = 0 {. mit. (x, y) = x. 0 falls x y y := x y sonst { x falls x y max mit max(x, y) = y sonst kgv mit kgv (x, y) = das kleinste gemeinsame Vielfache von x und y ggt mit ggt (x, y) = der größte gemeinsame Teiler von x und y

17 Vorlesung Informatik IV 15 Informationen 3 Entscheidbarkeit und Aufzählbarkeit Bisher haben wir uns mit der Berechenbarkeit von Funktionen beschäftigt. Darüber hinaus interessiert man sich besonders für die Berechenbarkeit von Eigenschaften, also der Frage gibt es einen Algorithmus, der entscheidet, ob eine Eingabe eine vorgegebene Eigenschaft hat. Formal kann man Eigenschaften durch die Menge aller Elemente ausdrücken, welche diese Eigenschaft besitzen und deswegen entspricht dieses Problem der Frage nach der Entscheidbarkeit der Elementrelation auf Mengen. 3.1 Definitionen und wichtige Eigenschaften Formal ist dieser Begriff durch akzeptierende Turingmaschinen (siehe Definition 2.4) erklärt. Definition 3.1 (Entscheidbarkeit und Aufzählbarkeit) Eine Menge S Σ heißt entscheidbar (oder rekursiv) genau dann, wenn es eine Turingmaschine M gibt, die auf allen Eingaben w Σ stoppt und w akzeptiert genau dann, wenn w S gilt. Eine Menge S Σ heißt rekursiv-aufzählbar (oder semi-entscheidbar) genau dann, wenn es eine Turingmaschine M gibt, die Eingaben w Σ genau dann akzeptiert, wenn w S gilt. Eine Menge S IN heißt entscheidbar (rekursiv-aufzählbar) wenn die Menge bin(s) = {bin(n) n S} {0, 1} entscheidbar (bzw. rekursiv-aufzählbar) ist. Der wichtige Unterschied zwischen Entscheidbarkeit und Semi-entscheidbarkeit ist, daß die akzeptierende Turinmaschine im zweiten Fall auf Eingaben w S nicht unbedingt halten muß. Der Begriff rekursiv-aufzählbar entstammt eine äquivalenten Charakterisierung, die wir in Übung 3 bewiesen hatten. Theorem 3.2 (Äquivalente Charakterisierung von Entscheidbarkeit und Aufzählbarkeit) 1. S Σ ist entscheidbar die (totale) charakteristische Funktion χ S : Σ {0, 1} mit χ S (w) = { 1 wenn w S 0 sonst ist berechenbar S endlich oder es gibt eine streng monotone, total-rekursive Funktion f : Σ Σ mit S = range(f) 2. S Σ ist rekursiv-aufzählbar { 1 wenn w S die partielle charakteristische Funktion χ S mit χ (w) = S undefiniert sonst es gibt eine partiell-rekursive Funktion f : Σ Σ mit S = domain(f) S = oder es gibt eine total-rekursive Funktion f : Σ Σ mit S = range(f) ist berechenbar Die äquivalenten Charakterisierungen sind oft erheblich leichter zu handhaben als die Originaldefinition. Insbesondere lohnt es sich, in konkreten Fällen die Charakterisierungen über rekursive Funktionen zu wählen anstatt über Turingmaschinen, weil gerade aus dem Bereich der µ-rekursiven Funktionen viele Funktionen als berechenbar bekannt sind. In Beweisen benötigt man allerdings oft die Originaldefinition. Durch Verwendung der unterschiedlichen Charakterisierungen lassen sich leicht eine Reihe von wichtigen Zusammenhängen beweisen. 10 Wegener 2.7/2.8 Theorem 3.3 (Abschlußeigenschaften) 1. Entscheidbare Mengen sind abgeschlossen unter Komplementbildung, Vereinigung, Durchschnitt, Differenz und Urbildbildung: Wenn S 1, S 2 Σ entscheidbar sind und f : Σ Σ eine total rekursive Funktion dann sind auch die Mengen S 1, S 1 S 2, S 1 S 2, S 1 S 2, f 1 (S 1 ) = {w f(w) S 1 } entscheidbar. Die Menge f(s 1 ) = {f(w) w S 1 } dagegen ist nicht notwendigerweise entscheidbar. 10 Man beachte daß aus der Teilmengenbeziehung S 1 S 2 keinerlei Schlüsse gezogen werden können über die Entscheidbarkeit und Aufzählbarkeit von S 1 oder S 2 selbst dann, wenn etwas über die andere Menge bekannt ist.

18 Vorlesung Informatik IV 16 Informationen 2. Rekursiv-aufzählbare Mengen sind abgeschlossen unter Vereinigung, Durchschnitt, Urbildbildung und Abbbild, aber nicht unter Differenz und Komplementbildung: Wenn S 1, S 2 Σ rekursiv-aufzählbar sind und f : Σ Σ eine total rekursive Funktion dann sind auch die Mengen S 1 S 2, S 1 S 2, f 1 (S 1 ), f(s 1 ) rekursiv-aufzählbar Die Mengen S 1, S 1 S 2 dagegen sind nicht notwendigerweise rekursiv-aufzählbar. 3. Eine Menge S Σ ist entscheidbar genau dann, wenn S und ihr Komplement S rekursiv-aufzählbar sind. Besonders die Abschlußeigenschaft durch Urbildbildung hat eine große Bedeutung für Entscheidbarkeits- bzw. Unent scheidbarsbeweise. Denn durch die Verwendung einer Funktion f kann eine Menge S 2 in eine völlig andersartige Menge S 1 transformiert werden. Wichtig ist nur, daß alle Elemente von S 2 innerhalb von S 1 landen und alle anderen außerhalb. Das genau ist die Urbildeigenschaft S 2 = f 1 (S 1 ). f Σ S 1 S 2 = f 1 (S 1 ) S 1 Σ S 2 f Weil diese Abschlußeigenschaft so wichtig ist für Beweise, hat sie einen Namen bekommen. Statt S 2 = f 1 (S 1 ) sagt man kurz S 2 reduziert auf S 1 und schreibt S 2 S 1. Das Symbol ist so zu verstehen, daß S 2 leichter als S 1 ist und damit alle guten Eigenschaften von S 1 auch für S 2 gelten. Definition 3.4 Eine Menge S 2 Σ heißt reduzierbar auf S 1 Σ (S 2 S 1 ) genau dann, wenn eine totalrekursive Funktion f : Σ Σ existiert mit der Eigenschaft: w Σ. w S 2 f(w) S 1 (in anderen Worten: S 2 = f 1 (S 1 )). Der Vorteil dieser Notation ist, daß f nicht mehr konkret angegeben werden muß. Es folgt Lemma 3.5 Seien S 1, S 2 Σ und es gelte S 2 S 1. Wenn S 1 entscheidbar (bzw. rekursiv-aufzählbar) ist, dann gilt dies auch für S 2 Wichtig ist, daß man dieses Lemma in zwei Richtungen anwenden kann, wenn man S 2 S 1 bewiesen hat: ist bekannt, daß S 1 entscheidbar ist, dann darf man dies auch für S 2 folgern; ist bekannt, daß S 2 nicht entscheidbar ist, dann kann auch S 1 nicht entscheidbar sein. Diese Beweistechnik nennt man Reduktionsbeweis. Wir haben diese Technik in vielen Beweisen implizit benutzt, indem wir z.b. gezeigt haben, wie wir eine Entscheidungsprozedur (genauer, die entsprechende Turingmaschine) für das spezielle Halteproblem H ɛ für die Entscheidung des allgemeine Halteproblem H verwenden, indem wir die Eingaben des Halteproblems H in solche für die Entscheidungsprozedur für H ɛ umwandeln. Die dabei angegebene Umwandlung ist genau die Reduktionsfunktion, d.h. wir haben ohne es explizit zu sagen H H ɛ gezeigt und dann praktisch noch einmal das obige Lemma für den jeweiligen Spezialfall bewiesen. Es ist daher erheblich eleganter allerdings auch abstrakter, eine Reduktion nachzuweisen und dann das Lemma zu verwenden, anstatt in Beweisen direkte Konstruktionen und Argumente zu führen. 11 Für Fragen nach Entscheidbarkeit und Aufzählbarkeit haben wir jetzt eine Reihe von Beweistechniken: Angabe einer Entscheidungsfunktion entweder als Turingmaschine oder als µ-rekursive Funktion. Angabe einer berechenbaren Funktion für eine der anderen Charakterisierungen. Verwendung der Abschlußeigenschaften und bekannter Beispiele insbesondere Reduktion auf eine als entscheidbar/aufzählbar bekannte Menge Zur Widerlegung der Allgemeingültigkeit von Aussagen reicht ein Gegenbeispiel 11 Es sei allerdings darauf hingewiesen, daß manche Reduktionsbeweise wie der vom Halteproblem auf die Diagonalsprachhe nicht auf obigem Reduktionsbegriff basieren sondern eher auf einer Art Turing-Reduzierbarkeit, da nach der Befrageung der Entscheidungsprozedur noch weitergearbeitet wird.

19 Vorlesung Informatik IV 17 Informationen 3.2 Unlösbare Probleme Ein wesentlicher Aspekt der theoretischen Informatik ist es abzugrenzen, was prinzipiell machbar ist und was nicht. Dies betrifft sowohl die Frage nach der Berechenbarkeit im allgemeinen, was wir heute besprechen werden, als auch die Frage was ist in vernünftiger Zeit berechenbar das machen wir morgen. Der direkte Nachweis, daß etwas nicht berechenbar ist, ist im allgemeinen sehr schwer. Deshalb bedient man sich einer einfachen Technik: man zeigt für ein paar abstrakte Probleme, daß sie nicht berechenbar sind und zeigt die Unlösbarkeit der praktisch interessanten Probleme dann durch Reduktion. (Das ist dieselbe Idee wie bei NP-Vollständigkeit). Schlüsseltechnik für den direkten Nachweis der Unlösbarkeit eines Problems ist neben dem Wachstumsargument, das wir beim Busy Beaver Problem benutzt haben die Diagonalisierung. Wegener 2.6, Ü3/4 Diagonalisierung ist eine Technik, die durch Verwendung der Diagonalen einer (fiktiven) Tabelle aller Möglichkeiten aus der Annahme der Lösbarkeit einen Widerspruch herleitet. Sie greift daher besonders gut, wenn das Problem etwas mit allen Berechnungen von Turingmaschinen M i auf Worten w j oder vergleichbaren Aufzählungen zu tun hat. Ich will die Technik ausführlich an einem Beispiel illustrieren. Weitere Beispiele findet man in Übung 3.2 und 3.3. Die Menge U = { M w M akzeptiert w} ist nicht entscheidbar. 1. Wir nehmen an U sei entscheidbar. Dann ist χ U, die charakteristische Funktion von U, berechenbar. 2. Zur Konstruktion der Diagonalen trägt man zunächst alle relevanten Fälle in eine (fiktive) Tabelle von Funktionsberechnungen ein. In unserem Fall steht in der Tabelle an der Stelle i, j eine 1, wenn M i das Wort w j akzeptiert und sonst irgendetwas anderes oder gar nichts. (In anderen Fällen muß man Funktionswerte M i (w j ) oder etwas ähnliches eintragen z.b. M 2i (w j ) ) 3. Konstruiere durch Abwandlung der Diagonalen eine neue Funktion, die von der Art her zu den in der Tabelle aufgelisteten Funktionen gehört, sich aber von allen in der Tabelle genannten Funktionen unterscheidet. Man kann Nullen mit Einsen tauschen oder auf den Funktionswert eine Eins addieren oder das Symbol 1 anhängen. { 1 wenn Mi das Wort w In unserem Fall setzen wir f(w i ) = i nicht akzeptiert 0 sonst Diese Funktion ist berechenbar nur dann, wenn das genannte Problem lösbar ist Wir berechnen f(w i ), indem wir die charakteristische Funktion von U mit Eingabe ( M i, w i ) berechnen und dann die Funktion sg auf das Ergebnis anwenden. 4. Wir zeigen, daß die konstruierte Funktion als Horizontale in der Tabelle auftauchen müsste und betrachten den Schnittpunkt dieser Horizontalen mit der Diagonalen. Per Konstruktion gibt es an dieser Stelle einen Widerspruch. Also muß die Annahme falsch sein. Da f berechenbar ist, gibt es eine Turingmaschine M i, die ein Wort w akzeptiert, genau dann wenn f(w) = 1 ist und sonst verwirft. Wir betrachten den Wert der Tabelle an der Stelle i, i und unterscheiden 2 Möglichkeiten. Wenn f(w i ) = 1 ist, dann akzeptiert nach Definition von f M i das Wort w i nicht, d.h. an der Stelle i, i keine 1. Da M i aber f berechnet, folgt f(w i ) 1 (f(w i ) ist genau der Wert an der Stelle i, i). Wenn f(w i ) = 0 ist, dann akzeptiert nach Definition von f M i das Wort w i. Da M i aber f berechnet, folgt f(w i ) = 1 0. In beiden Fällen ergibt sich also ein Widerspruch. Natürlich führt man normalerweise den konkreten Beweis ohne über diese Tabelle zu reden, aber sie hilft bei der Veranschaulichung, bis man das Problem sauber aufgeschrieben hat. Die Kurzform dieses Beweises geht dann mit Turingmaschinen wie folgt Wir nehmen an U = { M w M akzeptiert w} sei entscheidbar. Dann gibt es eine immer haltende Turingmaschine M U, die ein Wort M w akzeptiert genau dann, wenn M w U.

20 Vorlesung Informatik IV 18 Informationen Dann können wir eine Turingmaschine M konstruieren, die bei Eingabe eines Wortes w den Index i mit w = w i bestimmt und genau dann akzeptiert, wenn M U die Eingabe M i w nicht akzeptiert. Da M eine Turingmaschine ist gibt es einen Index j mit M = M j. Wir betrachten das Verhalten von M auf ihrem eigenen Index j, d.h. bei Eingabe von w j : Falls M das Wort w j akzeptiert, dann akzeptiert M U die Eingabe M j w j nicht. Also ist M j w j U, d.h. M = M j akzeptiert das Wort w j nicht. Falls M das Wort w j nicht akzeptiert, dann akzeptiert M U die Eingabe M j w j. Also ist M j w j U, d.h. M = M j akzeptiert das Wort w j. In beiden Fällen ergibt sich also ein Widerspruch. Also muß die Annahme falsch sein. Das allgemeine Schema wäre also: Annahme, das Problem sei entscheidbar über eine TM M P. Wir konstruieren eine widersprüchliche Maschine M mit M P als Black Box. Bei Eingabe von w wird das Problem so umgewandelt, daß eine Eingabe für M P entsteht. Dann wird M P laufengelassen und die Antowrt so umgewandelt, daß ein Widerspruch entsteht. D.h. sagt M P ja, dann sei die Ausgabe so, daß M eine Funktion berechnet, die auf w nicht zur Problemklasse gehört. Sagt M P nein, dann sei die Ausgabe so, daß M eine Funktion berechnet, die auf w zur Problemklasse gehört. Da M aufgrund unserer Annahme eine Turingmaschine ist, hat sie einen Index. Wir fragen: was macht M auf dem eigenem Index und finden dort den Widerspruch. Das waren jetzt mehrere Versuche, ihnen die Technik auf verschiedene Arten klar zu machen. Ich hoffe, daß jeder jetzt eine Form gefunden hat, die einleuchtet. Die ersten Probleme, die als unlösbar bewiesen wurden, hat man so konstruiert, daß sie zu dieser Technik passen sie haben keine eigene Bedeutung darüber hinaus. Die sogenannte Diagonalsprache ist genau die Diagonale innerhalb der Menge U. Sie ist definiert als D = {w i M i akzeptiert w i } 12 Bei D steckt die Diagonalisierung schon in der Definition und somit ist die Menge direkt bereit für den Widerspruchsbeweis: Wir nehmen an D sei entscheidbar. Dann ist auch D = {w i M i akzeptiert w i nicht} entscheidbar. Damit gibt es eine Turingmaschine M = M j, die immer hält und eine Eingabe w i akzeptiert genau dann, wenn w i D. Wir betrachten das Verhalten von M bei Eingabe von w j : Falls M = M j das Wort w j akzeptiert, dann darf nach Definition von D die Maschine M j das Wort w j nicht akzeptieren. Falls M = M j das Wort w j nicht akzeptiert, dann muß nach Definition von D die Maschine M j das Wort w j akzeptieren. In beiden Fällen ergibt sich also ein Widerspruch. Also muß die Annahme falsch sein. Alle anderen Probleme haben wir auf diese Sprache durch Reduktion zurückgeführt allerdings ohne diese Technik explizit zu machen. Das kam erst später. Ich will das auch an einem Beispiel illustrieren Das Halteproblem: H = { M w M hält auf w} ist nicht entscheidbar. Der Originalbeweis war eine Reduktion der Diagonalsprache D auf H. Wir nehmen an H sei entscheidbar. Damit gibt es eine Turingmaschine M H, die immer hält und eine Eingabe M w akzeptiert genau dann, wenn M w H. Dann läßt sich wie folgt eine Turingmaschine M konstruieren, die D entscheidet: Bei Eingabe von w berechne M den Index i mit w = w i und wendet M H auf M i w an. Falls M H nicht akzeptiert, dann hält M i auf w i nicht, also folgt w D. In diesem Fall verwirft M. Andernfalls hält M i auf w i und M wendet die universelle Turingmaschine UT M auf M i w an. Stoppt UT M in einem akzeptierenden Endzustand von M i dann folgt w D und M akzeptiert. Andernfalls folgt w D und M verwirft. Da D nicht entscheidbar ist, entsteht ein Widerspruch. Also kann H nicht entscheidbar sein. 12 Hier gibt es eine Umbenennung zu Wegener, der diese mit D benannt hat.

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

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

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Turing-Machine Wir suchen ein Modell zur formalen Definition der Berechenbarkeit von Funktionen und deren Zeit- und Platzbedarf. Verschiedene Modelle

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

8. Quadratische Reste. Reziprozitätsgesetz

8. Quadratische Reste. Reziprozitätsgesetz O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

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

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

Mathematische Maschinen

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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten! Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

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

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen. R. Brinkmann http://brinkmann-du.de Seite 1 13.0.010 Lineare Gleichungen Werden zwei Terme durch ein Gleichheitszeichen miteinander verbunden, so entsteht eine Gleichung. Enthält die Gleichung die Variable

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

2. Vorlesung. Slide 40

2. Vorlesung. Slide 40 2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b

Mehr

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

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen Prof. Dr. Volker Schulz Universität Trier / FB IV / Abt. Mathematik 8. November 2010 http://www.mathematik.uni-trier.de/ schulz/elan-ws1011.html

Mehr

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die

Mehr

Modellbildungssysteme: Pädagogische und didaktische Ziele

Modellbildungssysteme: Pädagogische und didaktische Ziele Modellbildungssysteme: Pädagogische und didaktische Ziele Was hat Modellbildung mit der Schule zu tun? Der Bildungsplan 1994 formuliert: "Die schnelle Zunahme des Wissens, die hohe Differenzierung und

Mehr

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

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Mathematischer Vorbereitungskurs für Ökonomen

Mathematischer Vorbereitungskurs für Ökonomen Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen

Mehr

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen. Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems

Mehr

Repetitionsaufgaben Wurzelgleichungen

Repetitionsaufgaben Wurzelgleichungen Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen

Mehr

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

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

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

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes) Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden

Mehr

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Kurzweil Florian Franzmann André Diehl Kompiliert am 10. April 2006 um 18:33

Mehr

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen Probleme beim Arbeiten mit Variablen, Termen und Gleichungen Tage des Unterrichts in Mathematik, Naturwissenschaften und Technik Rostock 2010 Prof. Dr. Hans-Dieter Sill, Universität Rostock, http://www.math.uni-rostock.de/~sill/

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten von Linien ( nach Jack Bresenham, 1962 ) Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Die reellen Lösungen der kubischen Gleichung

Die reellen Lösungen der kubischen Gleichung Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................

Mehr

DIFFERENTIALGLEICHUNGEN

DIFFERENTIALGLEICHUNGEN DIFFERENTIALGLEICHUNGEN GRUNDBEGRIFFE Differentialgleichung Eine Gleichung, in der Ableitungen einer unbekannten Funktion y = y(x) bis zur n-ten Ordnung auftreten, heisst gewöhnliche Differentialgleichung

Mehr

Logische Folgerung. Definition 2.11

Logische Folgerung. Definition 2.11 Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

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

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum Fachschaft Mathematik und Informatik (FIM) LA I VORKURS Herbstsemester 2015 gehalten von Harald Baum 2. September 2015 Inhaltsverzeichnis 1. Stichpunkte zur Linearen Algebra I 2. Körper 3. Vektorräume

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

Ein kausaler Zusammenhang entspricht einer speziellen wahren Implikation. Beispiel: Wenn es regnet, dann wird die Erde nass.

Ein kausaler Zusammenhang entspricht einer speziellen wahren Implikation. Beispiel: Wenn es regnet, dann wird die Erde nass. Implikation Implikation Warum ist die Tabelle schwer zu schlucken? In der Umgangssprache benutzt man daraus folgt, also, impliziert, wenn dann, nur für kausale Zusammenhänge Eine Implikation der Form:

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999 Mind Mapping am PC für Präsentationen, Vorträge, Selbstmanagement von Isolde Kommer, Helmut Reinke 1. Auflage Hanser München 1999 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 21222 0 schnell

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory of the

Mehr

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

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775, Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen

Mehr

Lineare Differentialgleichungen erster Ordnung erkennen

Lineare Differentialgleichungen erster Ordnung erkennen Lineare Differentialgleichungen erster Ordnung In diesem Kapitel... Erkennen, wie Differentialgleichungen erster Ordnung aussehen en für Differentialgleichungen erster Ordnung und ohne -Terme finden Die

Mehr

Kapitel 15. Lösung linearer Gleichungssysteme

Kapitel 15. Lösung linearer Gleichungssysteme Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr

Umgekehrte Kurvendiskussion

Umgekehrte Kurvendiskussion Umgekehrte Kurvendiskussion Bei einer Kurvendiskussion haben wir eine Funktionsgleichung vorgegeben und versuchen ihre 'Besonderheiten' herauszufinden: Nullstellen, Extremwerte, Wendepunkte, Polstellen

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.) Lösungsmethoden gewöhnlicher Dierentialgleichungen Dgl) Allgemeine und partikuläre Lösung einer gewöhnlichen Dierentialgleichung Eine Dierentialgleichung ist eine Gleichung! Zum Unterschied von den gewöhnlichen

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Statuten in leichter Sprache

Statuten in leichter Sprache Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Gutes Leben was ist das?

Gutes Leben was ist das? Lukas Bayer Jahrgangsstufe 12 Im Hirschgarten 1 67435 Neustadt Kurfürst-Ruprecht-Gymnasium Landwehrstraße22 67433 Neustadt a. d. Weinstraße Gutes Leben was ist das? Gutes Leben für alle was genau ist das

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Was ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft.

Was ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft. Vorlesung 1 Einführung 1.1 Praktisches Zeiten: 10:00-12:00 Uhr Vorlesung 12:00-13:00 Uhr Mittagspause 13:00-14:30 Uhr Präsenzübung 14:30-16:00 Uhr Übungsgruppen Material: Papier und Stift wacher Verstand

Mehr

Planungsblatt Mathematik für die 4E

Planungsblatt Mathematik für die 4E Planungsblatt Mathematik für die 4E Woche 26 (von 09.03 bis 13.03) Hausaufgaben 1 Bis Mittwoch 11.03: Auf dem Planungsblatt stehen einige Aufgaben als Übung für die SA. Bereite diese Aufgaben vor! Vor

Mehr

Universität Bonn, Institut für Angewandte Mathematik. WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW

Universität Bonn, Institut für Angewandte Mathematik. WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW Universität Bonn, Institut für Angewandte Mathematik Dr. Antje Kiesel WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW 08.03.2013 Matrikelnummer Platz Name Vorname 1 2 3 4 5 6

Mehr

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

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.

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. Matrizennorm Es seien r,s N Mit M r,s (R bezeichnen wir die Menge der reellen r s- Matrizen (also der linearen Abbildungen R s R r, und setze M s (R := M s,s (R (also die Menge der linearen Abbildungen

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

Mehr

Das Mathematik-Abitur im Saarland

Das Mathematik-Abitur im Saarland Informationen zum Abitur Das Mathematik-Abitur im Saarland Sie können Mathematik im Abitur entweder als grundlegenden Kurs (G-Kurs) oder als erhöhten Kurs (E-Kurs) wählen. Die Bearbeitungszeit für die

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr