Kapitel 1: Die Basistheoreme
|
|
- Erika Neumann
- vor 5 Jahren
- Abrufe
Transkript
1 Kapitel 1: Die Basistheoreme 1.1 Stackprogramme Vorauss.: 1) Variablen X 1,X 2,... (auch X,Y,Z,U,V,O, ev. indiziert) 2) Beliebiges, aber fest gewähltes Alphabet Σ := {a 1,...,a k } Slide 1 Jedes X i fungiert als Stack über Σ: X i kann ein belieb. Wort b 1...b l Σ speichern, mit Zugriff nur auf das Topsymbol b l, falls vorhanden. Def. Stackprogramme (über Σ) sind aufgebaut aus Basisanweisungen push(a, X), pop(x), nil(x) mittels Sequenzierung (Anweisungsfolgen) P 1 ; P 2 Konditionale (bedingte Anweisungen) if top(x) a [P] Schleifen foreach X[Q], vorausgesetzt der Rumpf Q enthält keine Basisanweisung bzgl. der Kontrollvariable X (Schleifenbdg.). Stackprogramme 2 Bem. 1) Die Schleifenbdg. bewirkt, dass bei Ausführung einer Schleife foreach X[P] die Kontrollvariable X nicht verändert wird. Slide 2 2) Die Schleifenbdg. beschränkt jedoch nicht die Ausdrucksstärke von Stackprogrammen. Bem (NF). Jedes Stackprogramm P kann eindeutig in Normalform P 1 ;...,; P k (k 1) geschrieben werden, wobei jede Komponente P i entweder eine Basisanweisung oder ein Konditional oder eine Schleife ist. Schreibweise: P NF P 1 ;...; P k
2 Stackprogramme 3 Operationale Semantik: Standard, bis auf die call by value Semantik für Schleifen foreach X[P]: Slide 3 Erstelle zunächst eine lokale Kopie U X ( neu ) von X. Ändere dann P zu P ab: Ersetze jedes freie Vorkommen von X in Q (vgl. Stackprogramme 4) durch U X. Führe nun folgende Anweisungsfolge aus: P ; pop(u X ) ;...; P ; pop(u X ) ( X -mal) Dabei steht X für die Größe von X, d.h. die Länge des in X gespeicherten Wortes. Wirkungsweise bei Ausführung von foreach X[P]: Jedes Symbol der Kontrollvariable X kann inspiziert werden, ohne dabei den Inhalt von X zu verändern. Stackprogramme 4 Def. Ein Vorkommen von X in P heißt frei, falls es im Kontext top(x) eines Teilprogramms if top(x) a [Q] vorkommt, das nicht im Rumpf einer Schleife foreach X[R] von P enthalten ist. Slide 4 Def. Eine Umgebung ist eine Abbildung ϕ: VAR Σ, wobei VAR:={X 1,X 2,...}. Bezeichne ENV die Menge der Umgebungen und ϕ[x i w] die an Stelle X i zu w Σ abgeänderte Umgebung ϕ. Die denotationale Semantik von Stackprogrammen ist ein Funktional [[ ]]: Stackprogramme (ENV ENV) wobei [[P]](ϕ) (lies: die durch Ausführung von P bei initialer Umgebung ϕ erzeugte Umgebung) wie folgt rekursiv definiert ist:
3 Slide 5 Stackprogramme 5 { ϕ(x [[push(a,x i )]](ϕ)(x j ) := j ) falls i j ϕ(x i )a sonst ϕ(x j ) falls i j [[pop(x i )]](ϕ)(x j ) := w falls i=j,ϕ(x i )=wa ε sonst { ϕ(x [[nil(x i )]](ϕ)(x j ) := j ) falls i j ε sonst [[P 1 ; P 2 ]](ϕ) := [[P 2 ]]([[P 1 ]](ϕ)) [[foreach X[Q]]](ϕ) := [[Q ; pop(u X );...; Q ; pop(u X )]](ϕ ) wobei ϕ := ϕ[u X ϕ(x)] und Q aus Q entsteht, indem jedes freie Vorkommen von X in Q durch die lokale Kopie U X von X ersetzt wird. Bem. [[P]](ϕ) hängt nur von ϕ auf Var(P) ab. Stackprogramme 6 Slide 6 Def. Ein Stackprogramm P mit Var(P) {X 1,...,X m } berechnet eine Funktion f : (Σ ) n Σ, falls für gewisse Input-Variablen X i1,...,x il und eine Output-Variable O von P für alle w 1,...,w n Σ gilt: [[P]]([ X w])(o)=f(w 1,...,w n ) Hoare-Notation: {X i1 =w i1,...,x il =w il } P {O=f(w 1,...,w n )} Kurzform: { X= w} P {O=f( w)} Bsp. (Call-by-value). add-ones mit add-ones(u,v) = u + v 1 (o.e. 1 Σ) wird durch ADD ONES in X berechnet: ADD ONES : foreach Y[if top(y) 1 [push(1,x)]] Denn mit ϕ := [X,Y u,v], ϕ := ϕ[u Y v] gilt [[ADD ONES]](ϕ)(X)= [[(if top(u Y ) 1 [push(1,x)]; pop(u Y )) v ]](ϕ )(X) = u1 v 1.
4 Stackprogramme 7 String-Addition (x, y) = x + y wird durch ADD in X berechnet: ADD : foreach Y[push(a,X)]. String-Multiplikation (x, y) = x y wird d. MULT in Z berechn.: Slide 7 MULT : nil(z); foreach X[ADD(Y; Z)]. l (x 1,...,x l ) = x 1... x l wird durch MULT l in Y berechnet: MULT l : nil(y); foreach X 1 [...foreach X l [push(a,y)]...] String-Exponentiation (u) =2 u wird durch EXP in Y berechnet: EXP : nil(y); push(a, Y); foreach X[nil(Z); foreach Y[push(a, Z); push(a, Z)]; nil(y); foreach Z[push(a, Y)]] 1.2 µ-maß für Stackprogramme Slide 8 Kernfrage: Welche Information steckt in der Syntax von (Stack-) Programmen, die es uns ermöglicht Programme P mit polynomieller Laufzeit (bzgl. einer Standardsimulation auf TMn) von Programmen P mit möglicherweise super-polynomieller Laufzeit zu trennen? [Wie ging diese Frage im Super-polynomiellem weiter?] Traditioneller Ansatz: Die Schachtelungstiefe deg(p) von Schleifen in P bestimmt wesentlich das von P erzeugte Größenwachstum, wobei: deg(basisanweisung) := 0 deg(if top(x) a [Q]) := deg(q) deg(p 1 ; P 2 ) := max{deg(p 1 ),deg(p 2 )} deg(foreach X[Q]) := deg(q)+1
5 µ-maß für Stackprogramme 2 Nun: deg(add)=1, deg(mult)=2 und deg(mult l )=l für l 1. Aber: deg kann polynomielle Laufzeit nicht von super-polynomieller Laufzeit trennen, denn z.b. gilt deg(exp)=deg(poly)=2. Slide 9 EXP : nil(y); push(a, Y); foreach X[nil(Z); foreach Y[push(a, Z); push(a, Z)]; nil(y); foreach Z[push(a, Y)]] POLY : nil(y); push(a, Y); nil(z); foreach X[foreach Y[push(a, Z); push(a, Z)]; push(a, Y)]; nil(y); foreach Z[push(a, Y); push(a, Y)] {X=w} EXP { Y =2 w } {X=w} POLY { Y =2 w ( w + 1)} µ-maß für Stackprogramme 3 Der µ Ansatz: Eine Verfeinerung von deg um die Suche nach Kreisen bzgl. der folgenden Relation innerhalb von Schleifen: X regiert Y in P : P enthält foreach X[...push(a,Y)...] Slide 10 Nun gilt: µ(add)=µ(mult)=µ(mult l )=0 für l 1 µ(exp)=1 und µ(poly)=0 EXP nil(y); push(a, Y); foreach X[nil(Z); foreach Y[push(a, Z); push(a, Z)]; nil(y); foreach Z[push(a, Y)]] POLY nil(y); push(a, Y); nil(z); foreach X[foreach Y[push(a, Z); push(a, Z)];push(a, Y)]; nil(y); foreach Z[push(a, Y); push(a, Y)]
6 µ-maß für Stackprogramme 4 Def (Kontrolle). Sei P ein Stackprogramm. PUSH(P) := {Y P enthält eine Anweisung push(a, Y)} Slide 11 X regiert Y in P (auch: X kontrolliert Y direkt in P), in Zeichen X P Y, falls gilt: P enthält eine Schleife foreach X[Q] mit Y PUSH(Q). Die Kontrolle in P, in Zeichen P, ist der transitive Abschluß von P, d.h. es gilt X P Y (lies X kontrolliert Y in P) : X P Y oder ( l 1) Z 1,...,Z l : X P Z 1 P... P Z l P Y Bem. Es gilt (X P X). µ-maß für Stackprogramme 5 Def. Das µ Maß µ(p) eines Stackprogramms P ist induktiv so definiert: Slide 12 µ(basisanweisung) := 0 µ(if top(x) a [Q]) := µ(q) µ(p 1 ; P 2 ) := max{µ(p 1 ),µ(p 2 )} Ist P eine Schleife foreach X[Q], so sei µ(q) + 1 falls Q einen Top Kreis besitzt µ(p) := µ(q) sonst. Q besitzt einen Top Kreis : Q enthält T foreach Y[R] mit µ(t) = µ(q) Z Q Y für ein Z PUSH(R). Bem. Q besitzt den Kontrollkreis Y R Z Q Y.
7 µ-maß für Stackprogramme 6 Lemma (CONTROL). (a) Aus X P Y folgt Y PUSH(P). (b) Aus X P Y mit P foreach Z[Q] folgt X Z oder X Q Y. Slide 13 Beweis. Tafelmitschrift! Lemma (SUB PROGRAM). Ist Q ein Teilprogramm eines Stackprogramms P, so gilt µ(q) µ(p). Beweis. Einfache Induktion nach dem Aufbau von P. Lemma (LOOP LOOP)). µ(foreach X[foreach Y[R]]) = µ(foreach Y[R]) Beweis. Tafelmitschrift! µ-maß für Stackprogramme 7 Slide 14 Lemma (TOP-KREIS). Sei P foreach X[Q] ein Stackprogramm ohne Konditionale und gelte µ(p) = µ(q) + 1. Ferner sei T : foreach Y[R] ein beliebiger Top-Kreis in Q, also µ(t)=µ(q) und Z Q Y für ein Z PUSH(R). Dann gilt: (a) Q NF Q 1 ;...,; Q k mit k 2. (b) Der Top-Kreis T ist in einer Komponente Q i enthalten. (c) Für jede Komponente Q j, die T enthält, gilt: (c1) µ(q j )=µ(q) (c2) (Z Qj Y) Beweis. Tafelmitschrift!
LOOP-Programme 1. Def (Meyer/Ritchie). LOOP-Programme werden induktiv aufgebaut aus den (Basis-) Anweisungen. Führe P X-mal aus ) LOOP-Programme 2
LOOP-Programme 1 LOOP-Programme verwenden (jeweils) endlich viele Variablen aus VAR := {X 0,X 1,X 2,...}, oft nur mit X,Y,Z,U,V,W bezeichnet, die als Register fungieren. Slide 1 Def (Meyer/Ritchie). LOOP-Programme
MehrGTI. Hannes Diener. 18. Juni. ENC B-0123,
GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 18. Juni 1 / 32 Als Literatur zu diesem Thema empfiehlt sich das Buch Theoretische Informatik kurzgefasst von Uwe Schöning (mittlerweile in der 5.
Mehr8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem
8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8.1 Der Kompaktheitssatz Kompaktheitssatz Endlichkeitssatz Der Kompaktheitssatz ist auch unter dem Namen Endlichkeitssatz bekannt. Unter Verwendung
MehrDie Prädikatenlogik erster Stufe: Syntax und Semantik
Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Turingmaschine (TM) M = (Q, Σ, Γ, B, q 0, q, δ) Unendliches Band... 0 c
MehrEinführung IMP-Syntax Reduktionssemantik Maschinen-Semantik. Teil IV. Semantik imperativer Sprachen
Teil IV Semantik imperativer Sprachen 201 1. Einführung Alternativen zur Beschreibung der Semantik: natürliche Sprache (bisher, unpräzise) operational Reduktionssemantik (vgl. Haskell-Semantik in Kap.
MehrBerechenbarkeitstheorie 19. Vorlesung
1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Erinnerung:
Mehrliefern eine nicht maschinenbasierte Charakterisierung der regulären
Reguläre Ausdrücke 1 Ziel: L=L M für NFA M L=L(r) für einen regulären Ausdruck r Reguläre Ausdrücke über einem Alphabet Σ Slide 1 liefern eine nicht maschinenbasierte Charakterisierung der regulären Sprachen
MehrSWP Funktionale Programme
SWP Funktionale Programme Berhard Aichernig und Alexander Felfernig Institut für Softwaretechnologie {bernhard.aichernig,alexander.felfernig}@ist.tugraz.at Institute for Software Technology Inhalt Einfache
Mehr2.2 Der Algorithmus von Knuth, Morris und Pratt
Suchen in Texten 2.1 Grundlagen Ein Alphabet ist eine endliche Menge von Symbolen. Bsp.: Σ a, b, c,..., z, Σ 0, 1, Σ A, C, G, T. Wörter über Σ sind endliche Folgen von Symbolen aus Σ. Wörter werden manchmal
MehrLOOP-Programme: Syntaktische Komponenten
LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=
MehrKapitel 3. Syntax und Semantik von arithmetischen Ausdrücken. 3.1 Syntax
Kapitel 3 Syntax und Semantik von arithmetischen Ausdrücken In diesem Kapitel führen wir einige grundlegende Konzepte für logische Sprachen ein. Wir tun dies am Beispiel einer einfachen Sprache AA, deren
MehrMächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen
Mächtigkeit von LOOP-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Die Programmiersprache LOOP Syntax Elemente eines LOOP-Programms Variablen
MehrBerechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme
Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 29. November 2007 Turing-mächtige
Mehr1.5 Turing-Berechenbarkeit
A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine
MehrInduktive Definitionen
Induktive Definitionen Induktive Definition: Konstruktive Methode zur Definition einer Menge M von Objekten aus Basisobjekten mittels (Erzeugungs-) Regeln Slide 1 Rekursion über den Aufbau: Konstruktive
MehrTheorie der reell abgeschlossenen Körper (RCF)
Theorie der reell abgeschlossenen Körper (RCF) 1 Einführung Die im Vortrag betrachteten Modelle verwenden die Sprache L ORing ={0,1,+,-,,
Mehr2.1 Allgemeines. Was ist eine Sprache? Beispiele:
Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax
MehrEffiziente Algorithmen 2
Effiziente Algorithmen 2 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen
Mehr7. Syntax: Grammatiken, EBNF
7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik
MehrStackmaschine; Speicheradressierung
Stackmaschine; Speicheradressierung Erweiterung um globalen Speicher (Heap, Halde) pro Speicherplatz eine Zahl. Notation ist als Array SP [0..]. Zugriff mittels Adresse (Index): eine Zahl i.a.: Zahlen
MehrGrundlagen der theoretischen Informatik
Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)
Mehr1 Potenzen und Polynome
1 Potenzen und Polynome Für eine reelle Zahl x R und eine natürliche Zahl n N definieren wir x n := x x x... x }{{} n-mal Einschub über die bisher aufgetretenen mathematischen Symbole: Definition mittels
Mehr4.4 Imperative Algorithmen Prozeduren
4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):
Mehr1.5 Turing-Berechenbarkeit
A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine
MehrSyntax von LOOP-Programmen
LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition LOOP-Programme bestehen aus: Variablen: x 0, x 1, x 2, x 3,... Konstanten: 0, 1, 2, 3,... Trennsymbolen:; und := Operationen: + und Befehlen:
MehrSeminar Mathematische Logik L-Strukturen und Syntax der Prädikatenlogik
Seminar Mathematische Logik L-Strukturen und Syntax der Prädikatenlogik Linda Raabe 7. März 2012 1 L-Strukturen Definition 1.1 (Struktur) Eine Struktur A ist eine nichtleere Trägermenge A zusammen mit
MehrKapitel 2. Zahlenbereiche
Kapitel 2. Zahlenbereiche 2.3. Reelle Zahlen Erweiterung des Zahlenbereichs der natürlichen Zahlen Ganze Zahlen Z := {..., 3, 2, 1, 0, 1, 2, 3,... } = N {0} N. Rationale Zahlen Q := { m n m Z, n N }. Beachte:
MehrLösungen zur Vorlesung Berechenbarkeit und Komplexität
Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin
MehrUnvollständigkeit der Arithmetik
Unvollständigkeit der Arithmetik Slide 1 Unvollständigkeit der Arithmetik Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Unvollständigkeit der Arithmetik Slide
MehrDifferentialformen. Lie-Ableitung von Differentialformen und Poincaré-Formel. Differentialform dp dx und ihre Invarianz bzgl. Hamiltonischer Flüsse.
Differentialformen Plan Zuerst lineare Algebra: Schiefsymmetrische Formen im R n. Dann Differentialformen: Invarianz bzgl. Diffeomorphismen (und sogar beliebigen glatten Abbildungen). Äußere Ableitung.
MehrOperationale Semantik 1
Operationae Semantik 1 Side 1 Zie: Geschossene Terme t ι ι sind Programme, die auf Eingabe n die Ausgabe [t] n erzeugen. Ein-/Ausgabekonvention: Eingaben und Ausgaben sind Numerae! Def. Ein Numera ist
MehrLogik I. Symbole, Terme, Formeln
Logik I Symbole, Terme, Formeln Wie jede geschriebene Sprache basiert die Prädikatenlogik erster Stufe auf einem Alphabet, welches aus den folgenden Symbolen besteht: (a) Variabeln wie zum Beispiel v 0,v
MehrSWP Funktionale Programme (2. Teil)
SWP Funktionale Programme (2. Teil) Bernhard Aichernig Institut für Softwaretechnologie aichernig@ist.tugraz.at Institute for Software Technology Inhalt Einfache Ausdrücke (Sprachen A +, B bin +, C Mult,
MehrMinimalautomaten. Minimalautomaten. Frage: Ist der Äquivalenzautomat A der kleinste Automat ( Minimalautomat ) der die Sprache L(A) erkennt?
Minimalautomaten Frage: Ist der Äquivalenzautomat A der kleinste Automat ( Minimalautomat ) der die Sprache L(A) erkennt? 1 Minimalautomaten Satz: Falls A keine unerreichbaren Zustände hat, ist A der kleinste
MehrMathematische Rekursion
Rekursion Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die Funktion erscheint in ihrer eigenen Definition. Mathematische Rekursion o Viele mathematische
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt
Mehr13 Grenzwertsätze Das Gesetz der großen Zahlen
13 Grenzwertsätze 13.1 Das Gesetz der großen Zahlen Der Erwartungswert einer zufälligen Variablen X ist in der Praxis meist nicht bekannt. Um ihn zu bestimmen, sammelt man Beobachtungen X 1,X 2,...,X n
MehrLemma Für jede monotone Grammatik G gibt es eine kontextsensitive
Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G
MehrBerechenbarkeit und Komplexität Vorlesung 11
Berechenbarkeit und Komplexität Vorlesung 11 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 7. Dezember 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 7.
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische
MehrInformatik III - WS07/08
Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition
MehrLösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }
Zur Einleitung: Lineare Gleichungssysteme Wir untersuchen zunächst mit Methoden, die Sie vermutlich aus der Schule kennen, explizit einige kleine lineare Gleichungssysteme. Das Gleichungssystem I wird
MehrTheoretische Informatik 1
Theoretische Informatik 1 Die Komplexitätsklasse P David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Äquivalenz von RM und TM Äquivalenz, Sätze Simulation DTM
MehrImplizite Funktionen, der Umkehrsatz und Extrema unter Nebenbedingungen
Kapitel XII Implizite Funktionen, der Umkehrsatz und Extrema unter Nebenbedingungen 53 Implizite Funktionen und allgemeine partielle Differenzierbarkeit 54 Der Umkehrsatz 55 Lokale Extrema unter Nebenbedingungen,
MehrMIA Analysis einer reellen Veränderlichen WS 06/07. Kapitel II. Die reellen Zahlen
Version 23.11. November 2006 MIA Analysis einer reellen Veränderlichen WS 06/07 Kurzfassung Martin Schottenloher Kapitel II. Die reellen Zahlen Die reellen Zahlen werden in diesem Kapitel axiomatisch eingeführt
MehrInduktive Beweise und rekursive Definitionen
Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrTHEORETISCHE INFORMATIK UND LOGIK
THEORETISCHE INFORMATIK UND LOGIK 3. Vorlesung: WHILE und LOOP Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 12. April 2017 Was bisher geschah... Grundbegriffe, die wir verstehen und erklären
MehrDie Formeln von A sind Ausdrücke, die aus ganzen Zahlen, Variablen, Addition und Multiplikation gebildet werden. Hier ist ein Beispiel:
Kapitel 3 Syntax und Semantik In diesem Kapitel führen wir grundlegende Konzepte für logische Sprachen ein. Wir tun dies am Beispiel einer Sprache A, die arithmetische Ausdrücke als Formeln hat (zum Beispiel
MehrVU Software Paradigmen / SS 2015
VU Software Paradigmen 716.060 / SS 2015 Stephan Frühwirt Institute for Software Technology i S T Institute for Software Technology Stephan Frühwirt 1 Inhalt Beweise in EXP 1. Beweise in EXP 2. 3. Abgabe
MehrÜBUNGS-BLOCK 7 LÖSUNGEN
ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i
Mehr= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf)
Musterlösung Übung 2 Aufgabe 1: Große Zahlen Das Ergebnis ist nicht immer richtig. Die Maschine erzeugt bei Zahlen, die zu groß sind um sie darstellen zu können einen Über- bzw. einen Unterlauf. Beispiele
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 16.11.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrVon der Programmiersprache WHILE zum ersten Einstieg in Java
Von der Programmiersprache WHILE zum ersten Einstieg in Java Die Programmiersprache WHILE bildet den Kern jeder imperativen Programmiersprache. Man geht davon aus, dass die Ein- Ausgabe primitiv organisiert
Mehr2. Übungsblatt 6.0 VU Theoretische Informatik und Logik
2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum
Mehrist (oder besser Abspalten von Linearfaktoren beschäftigen. Zu einem beliebigen Körper K betrachten wir die Menge (j,k) N N j+k=n
8. Polynomringe Das Umgehen mit Polynomen, d.h. mit Ausdrücken der Form a 0 + a 1 x + a 2 x 2 +... + a n x n ist aus der Schule vertraut, falls die Koeffizienten a 0,..., a n ganze oder rationale oder
MehrGrammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)
Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
MehrAlgorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen
MehrFunktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung
Funktionale Programmierung 1 Funktionale Programmierung: Vorlesungsüberblick 1. Funktionale Programmierung Prinzipien funktionaler Programmierung Funktionale Programmierung in prozeduralen Sprachen Rekursive
MehrFormale Grundlagen 2008W. Vorlesung im 2008S Institut für Algebra Johannes Kepler Universität Linz
Formale Grundlagen Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Definition Sei A eine Menge und ɛ A A A eine zweistellige
MehrKlammersprache Definiere
Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere
MehrAusgewählte Kapitel Diskreter Mathematik mit Anwendungen
Wahlpflichtfach Bachelor Informatik 4. Semester Ausgewählte Kapitel Diskreter Mathematik mit Anwendungen Lektion 6: utm- und Kurt-Ulrich Witt Sommersemester 2011 Kurt-Ulrich Witt Diskrete Mathematik Lektion
Mehr1 Syntax und Semantik der Logik erster Stufe
1 Syntax und Semantik der Logik erster Stufe Die Logik erster Stufe Prädikatenlogik) besitzt eine Syntax, die festlegt, welche Zeichenketten Formeln der Logik erster Stufe sind, und eine Semantik, die
Mehrkontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
Mehr1.4 Die Ackermannfunktion
a : N 2 N : Beispiele: a(0, y) = y + 1, a(x, 0) = a(x 1, 1), x > 0, a(x, y) = a(x 1, a(x, y 1)), x, y > 0. Beh.: a(1, y) = y + 2 Bew. durch Induktion über y: a(1, 0) = a(0, 1) = 2 = 0+2. a(1, y + 1) =
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn 26. Oktober 2015 Programme und Algorithmen Programmiersprache = Kunstsprache mit genau definierter Syntax (was ist ein zulässiger
MehrKapitel 5. Mathematische Semantik. 1 Motivation
Kapitel 5 Mathematische Semantik In diesem Kapitel werden wir nun eine weitere Technik zur Definition der Semantik einer Programmiersprache vorstellen: die mathematische bzw. denotationale Semantik. Außerdem
MehrÜbungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im
MehrDWT 1.4 Rechnen mit kontinuierlichen Zufallsvariablen 240/476 c Ernst W. Mayr
1.4.4 Laplace-Prinzip in kontinuierlichen Wahrscheinlichkeitsräumen Das folgende Beispiel zeigt, dass im kontinuierlichen Fall die Bedeutung von gleichwahrscheinlich nicht immer ganz klar sein muss. Bertrand
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrIdeen und Konzepte der Informatik
Ideen und Konzepte der Informatik Programme und Algorithmen Antonios Antoniadis 23. Oktober 2017 Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert
Mehr2.10 Lokale Funktionsanalyse
2.1 Lokale Funktionsanalyse Aufgabe Gegeben sei die Abbildung g : R 2 R 2 mit g(x, y) : (x 3 yx, y). Man bestimme alle Mengen M k : {(ξ, η) R 2 g 1 (ξ, η) hat genau k Elemente}. Wie verhält g sich in der
MehrSerie 3: Ringe, Körper, Vektorräume
D-MATH Lineare Algebra I HS 2016 Dr. Meike Akveld Serie 3: Ringe, Körper, Vektorräume 1. Im Folgenden sei n N und Z n bezeichne die Menge der Äquivalenzklassen von Z bezüglich der Relation: k n l n k l
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
Mehrf(1, 1) = 1, f(x, y) = 0 sonst üblicherweise Konjunktion, manchmal auch
Belegungen, Wahrheitsfunktionen 1. Wie viele binäre Funktionen gibt es auf der Menge {0, 1} (d.h., Funktionen von {0, 1} 2 nach {0, 1})? Geben Sie alle diese Funktionen an, und finden Sie sinnvolle Namen
MehrBerechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme
Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 13. November 2006 Turing-mächtige
MehrÜbungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrInduktive Beweise und rekursive Definitionen
Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1
MehrBA-INF 011 Logik und Diskrete Strukturen WS 2013/14 Mögliche Klausuraufgaben Stand vom
Prof. Dr. Norbert Blum Elena Trunz Informatik V BA-INF 011 Logik und Diskrete Strukturen WS 2013/14 Mögliche Klausuraufgaben Stand vom 5.2.2014 Bitte beachten Sie, dass die tatsächlichen Klausuraufgaben
MehrKapitel 6. Fixpunkte und semantische Bereiche
Kapitel 6 Fixpunkte und semantische Bereiche Sowohl bei der Definition der operationalen Semantik als auch bei der Definition der mathematischen Semantik haben wir mehr oder weniger explizit Fixpunkte
MehrDieÜbersetzung funktionaler Programmiersprachen
DieÜbersetzung funktionaler Programmiersprachen 107 11 Die Sprache PuF Wir betrachten hier nur die Mini-Sprache PuF( Pure Functions ). Insbesondere verzichten wir(vorerst) auf: Seiteneffekte; Datenstrukturen;
MehrLOOP-Programme: Syntaktische Komponenten
LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=
MehrTheoretische Informatik Mitschrift
Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=
MehrKAPITEL 1: ENDLICHE KÖRPER 1 ALLGEMEINES 2 GLEICHUNGEN ÜBER EINEM ENDLICHEN KÖRPER
RUPRECHT-KARLS-UNIVERSITÄT HEIDELBERG MATHEMATISCHES INSTITUT SEMINAR: QUADRATISCHE FORMEN ÜBER DEN RATIONALEN ZAHLEN SOMMERSEMESTER 2007 DOZENT: PROF. DR. KAY WINGBERG ASSISTENT: JOHANNES BARTELS KAPITEL
MehrZusammenfassung. Beispiel. 1 Wir betrachten die folgende Signatur F = {,, +, 0, 1} sodass. 3 Wir betrachten die Identitäten E. 4 Dann gilt E 1 + x = 1
Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele eorg Moser Michael Schaper Institut für Informatik @ UIBK Wintersemester 2016
MehrLösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }
Zur Einleitung: Lineare Gleichungssysteme Wir untersuchen zunächst mit Methoden, die Sie vermutlich aus der Schule kennen, explizit einige kleine lineare Gleichungssysteme. Das Gleichungssystem I wird
MehrKapitel 4. Kontrollstrukturen
Kapitel 4 Kontrollstrukturen Kontrollstrukturen 1 Ziele Kontrollstrukturen in imperativen Programmen kennenlernen und verstehen. Realisierung der Kontrollstrukturen in Java. Kontrollstrukturen 2 Anweisungen
MehrFormale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2015/2016.
Formale Systeme Prof. Dr. Bernhard Beckert, WS 2015/2016 Aussagenlogik: Syntax und Semantik KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK KIT Universita t des Landes Baden-Wu rttemberg und nationales Forschungszentrum
MehrFormale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung
Formale Sprachen rammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marion OSWALD rammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind rammatiken.
MehrWS 05/06 mod Verifikation
3.3 Verifikation WS 05/06 mod 351 Verifikation ist der Beweis der Korrektheit eines Algorithmus relativ zu seiner Spezifikation. Die Aussagen gelten für alle Ausführungen des Algorithmus. Sie werden statisch
Mehr