Noethersche Induktion
|
|
- Katharina Raske
- vor 6 Jahren
- Abrufe
Transkript
1 Noethersche Induktion 166
2 Noethersche Relationen Definition (Noethersche Relationen) Sei A A. Die Relation heißt noethersch (oder wohlfundiert, engl. well-founded) wenn es keine unendlichen -Ketten gibt:... a 3 a 2 a 1 a 0 Beispiele: < auf natürlichen Zahlen ist noethersch, aber nicht > < auf ganzen Zahlen ist nicht noethersch m n n = m + 1 ist noethersch (nicht transitiv) (echte Teilmenge) ist noethersch auf endlichen Mengen 167
3 Eigenschaften noetherscher Relationen < ist immer irreflexiv Die Relation muss nicht transitiv sein, ihre transitive Hülle ist aber auch noethersch (und transitiv) deshalb häufig o.b.d.a nur noethersche Ordnungen betrachtet Die Relation muss kein kleinstes Element besitzen. Beispiel: echte Teilmenge auf nichtleeren Mengen kleinstes Element existiert noethersch. Beispiel: < auf rationalen Zahlen 0 Wenn < noethersch und stärker, i.e. x y x < y, dann erst Recht noethersch 168
4 Bedeutung noetherscher Relationen Bedeutung: betrachte Folge der Zustände, die ein Programm durchläuft. Definiere s s : s ist Nachfolgezustand von s Dann gilt: noethersch Programm terminiert immer stärkeres Induktionsprinzip als strukturelle Induktion: noethersche Induktion eingesetzt zum Beweis der Terminierung 169
5 Beispiele für noethersche Prädikate Ordnungsprädikate: Ordnungsprädikate < von Datendefinitionen sind noethersch. Zur Erinnerung: x < y x (als Konstr.term) ist echter Unterterm von y. Z. Bsp. bei Listen : x < a + x, x < a + (b + x), x [] [] < x keine Grössenordnung, nicht: a + x < a + b + x (ausser wenn a = b) Größenordnung: Sei size : s nat. Dann ist noethersch mit x y : size(x) < size(y). Lexikalische Ordnung: Betrachte Spezifikation Pair2 von vorher. Seien < 1 : elem1 elem1 und < 2 : elem2 elem2 noethersch. Dann auch mit mkpair(a,b) mkpair(a,b ) : a < 1 a (a = a b < 2 b ). 170
6 Noethersche Induktion Satz (Noethersche Induktion) Genau für noethersche Relationen gilt: Wenn für jedes a aus E(a ) für alle Elemente a a die Aussage E(a) gefolgert werden kann, so gilt E für alle Elemente: ( a. ( a. a a E(a )) E(a)) b. E(b) Definition (Noethersche Induktionsregel) Sei y := free(γ ) \ {x} und noethersch. Induktion über x: IND( ) y. x. x x ( Γ ) x x,γ Γ speziell für Formel: y. x. x x ϕ x x ϕ ϕ 171
7 Noethersche Induktion (Beispiele) Beispiel: Natürliche Zahlen n 0. n 0 < n ϕ(n 0 ) ϕ(n) n. ϕ(n) Beispiel: Listen l 0. (l 0 l) ϕ(l 0 ) ϕ(l) l. ϕ(l) 172
8 Noethersche Induktion in KIV In KIV ist die Regel induction für noethersche Induktion vorhanden Für Variablen x eines freien Datentyps wird angeboten Ind. über vordefiniertes Ordnungsprädikat (pro Sorte eines; Induktion über x wird angeboten) Ind. über vordedefinierte Grössenfunktion (pro Sorte eine Fkt. #; Induktion über # x) Grössenfunktionen für nichtfreie Datentypen kann man mit Unit-Add HeuristicInfo addieren es ist auch möglich einen Term anzugeben, über dessen Grösse induziert wird (z.bsp. # x # y) Die Induktionshypothese wird in KIV mit Ind-Hyp abgekürzt. Goal-Again with Ind-Hyp zeigt die Induktionshypothese an. Anwendung der Induktionshypothese mit apply induction (statt all left) 173
9 Sequentielle Programme, Hoare-Logik und Dynamische Logik 174
10 Was ist ein SW-System mathematisch? 1. Sicht: operational Ein SW-System ist ein Automat mit Zustand, Zustandsübergängen und mit Abläufen. 2. Sicht: algebraisch Ein SW-System ist eine Algebra, d. h. ein System von Daten und Operationen. 175
11 Grundidee für Programme Hilfsmittel: Begriffe von Signatur, Algebra und Belegung aus der Prädikatenlogik Datentypen in den Programmen sind beliebige algebraisch spezifizierte Datentypen (daher heißen die Programme abstrakte Programme) Programmvariablen sind Variablen der Prädikatenlogik Ein Zustand eines Programms ist eine Belegung der Prädikatenlogik Kopiersemantik, d.h. Änderung an einer Variablen ändert keine andere Variablen haben keine Adressen 176
12 Programme: Syntax Programme Prog(Σ,X) (Notation: α, β, γ) parallele Zuweisung: x 1 := t 1,x 2 := t 2,...,x n := t n Variablen aus X, Terme aus T(Σ,X), kurz: x := t { α;β } (geschachtelte { } weglassen) Schleife (ε ist quantorenfreie Formel): while ε do α Fallunterscheidung: if ε then α else β lokale Variablen: let x 1 = t 1,x 2 = t 2,...,x n = t n in α das Programm, das nichts tut: skip (Abkürzung: if ε then α if ε then α else skip) das Programm, das nie terminiert: abort (kann als Abkürzung definiert werden: while true do skip) Prozeduren später 177
13 Programme: Semantik (1) Für eine Σ-Algebra A betrachtet man die Menge ST:={v v : s S X s A s } der Variablenbelegungen. Für sequentielle Programme sind nicht alle Zwischenzustände interessant, es genügt, Anfangs- und Endzustände zu betrachten. Erster Versuch: Ein Programm überführt einen Anfangszustand in einen Endzustand: [[α]] : ST ST 178
14 Programme: Semantik (1) Für eine Σ-Algebra A betrachtet man die Menge ST:={v v : s S X s A s } der Variablenbelegungen. Für sequentielle Programme sind nicht alle Zwischenzustände interessant, es genügt, Anfangs- und Endzustände zu betrachten. Erster Versuch: Ein Programm überführt einen Anfangszustand in einen Endzustand: [[α]] : ST ST Probleme mit dieser Semantik: Was ist die Semantik von abort? Wie auf indeterministische Programme erweitern? 178
15 Programme: Semantik (2) Deshalb: relationale Semantik: [[α]] ST ST (v,v ) [[α]] bedeutet: Zustand v wird von α in v überführt Wenn zu v kein v mit (v,v ) [[α]] vorhanden ist: α terminiert nicht, wenn in v gestartet Wenn {(v,v ),(v,v )} [[α]], so ist das Programm mit v gestartet indeterministisch mit 2 möglichen Endzuständen: v und v derzeit betrachtete Programme sind deterministisch: Zu jedem v höchstens ein v 179
16 Programme: Semantik (3) Man definiert die relationale Semantik eines Programmes bzgl. der Algebra A rekursiv wie folgt: [[abort]] [[skip]] [[x := t]] [[α;β]] [[if ε then α else β]] := := {(v,v) v ST} := {(v,w) w = v [[t]] A,v x } := {(u,w) es gibt v : (u,v) [[α]] und (v,w) [[β]]} := {(v,w) A,v = ε und (v,w) [[α]] oder A,v = ε und (v,w) [[β]]} [[let x = t in α]] := {(v,wx v(x) ) (v [[t]] A,v x,w) [[α]]} [[while ε do α]] := [[(if ε then α) i ; if ε then abort ]] i N wobei α 0 := skip,α i+1 := α;α i 180
17 Korrektheitsbegriffe für Programme Partielle Korrektheit: ϕ {α} ψ Falls zu Beginn ϕ gilt und α terminiert, dann gilt anschließend ψ Semantik: A = ϕ {α} ψ für jedes v mit A,v = ϕ und jedes w mit (v,w) [[α]] gilt A,w = ψ Totale Korrektheit: ϕ α ψ Falls zu Beginn ϕ gilt, dann terminiert α und anschließend gilt ψ Semantik: A = ϕ α ψ für jedes v mit A,v = ϕ gibt es w mit (v,w) [[α]] es gilt A,w = ψ 181
18 Beispiele zur Korrekheit Partielle Korrektheit: = true { x:= 2 } x = 2 = x = 2 { x:= x+1 } x = 3 = x = y { x:= x +1} x 1 = y = x = a y = b { x:= y, y := x} x = b y = a = x = 2 { abort } x > 2 Unterschied partielle und totale Korrektheit: = true { if y=0 then abort else x:=1 } x = 1 = true if y=0 then abort else x:=1 x = 1 = y 0 if y=0 then abort else x:=1 x = 1 182
19 Der Hoare-Kalkül (1) Floyd, C. A. R. Hoare, Oxford 1969 SP HC ϕ{α}ψ HC : Besteht aus Regeln zur Behandlung von Programmen und den Regeln des Sequenzenkalküls 183
20 Der Hoare-Kalkül (2) skip-regel: abort-regel: ϕ {skip} ϕ ϕ {abort} ψ Zuweisungs-Regel: ϕ t x {x := t} ϕ compound-regel: ϕ {α} χ χ {β} ψ ϕ {α;β} ψ wobei die Zwischenbedingung χ selbst gesucht werden muss. 184
21 Der Hoare-Kalkül (3) conditional-regel: while-regel: ϕ ε {α} ψ ϕ ε {β} ψ ϕ {if ε then α else β} ψ ϕ INV INV ε {α} INV INV ε ψ ϕ {while ε do α od} ψ wobei die Schleifeninvariante INV selbst gesucht werden muss 185
22 Der Hoare-Kalkül (4) Wie immer: Ist der Kalkül korrekt? Ist er sogar vollständig? Korrektheit gilt, d.h. SP HC ϕ {α} ψ Mod(SP) = ϕ {α} ψ. Aber Vollständigkeit gilt nicht, d.h. Mod(SP) = ϕ {α} ψ impliziert nicht, daß SP HC ϕ {α} ψ gilt. Gegenbeispiel? 186
23 Der Hoare-Kalkül (5) Gegenbeispiel zur Vollständigkeit des Hoare-Kalküls: Nat = data specification nat = 0 +1 (-1 : nat) end data specification x = 0 y = y 0 { while y 0 do y := y -1; x := x +1 od } x = y 0 Schleifeninvariante? x + y = y 0? Eigentlich schon, aber keine Formel in Nat. 187
24 Der Hoare-Kalkül (6) Frage: Wie ändert sich der Kalkül, wenn man totale Korrektheit betrachtet? Antwort: Überall dort, wo Nichtterminierung auftreten kann (abort und while). Ersetze also die geschweiften Klammern durch spitze und ändere die abort- und while-regel ab, um Nichtterminierung zu verhindern. Dies ergibt den totalen Hoare-Kalkül (THC ): SP THC ϕ α ψ Wie müssen die abort- und while-regel geändert werden? 188
25 Der Hoare-Kalkül (7) Bedingung bei abort-regel: Vorbedingung darf nie auftreten! abort-regel: ϕ ϕ abort ψ 189
26 Der Hoare-Kalkül (8) Bedingung bei while-regel: Schleife darf nur endlich oft durchlaufen werden! Benutze dazu noethersche Ordnung und einen Term t (z.b. Länge einer Liste), der bzgl. kleiner wird, sowie eine Variable v Var(α). while-regel: ϕ INV INV ε v = t α INV t v INV ε ψ ϕ while ε do α od ψ wobei die Schleifeninvariante INV selbst gesucht werden muss Damit ist der totale Hoare-Kalkül korrekt, aber nicht vollständig. 190
27 Dynamische Logik A. Salwicki 1970 ( algorithmische Logik ), V.R. Pratt 1976, D. Harel 1977 Idee: Erfinde nicht einfach einen komplett neuen Kalkül für neue Objekte (hier: Hoare-Tripel) sondern bilde Programmformeln und erweitere Kalkül um diese neuen Formeln. 191
28 Dynamische Logik: Syntax Die Menge DLFor(Σ,X) der DL-Formeln über der Signatur Σ und der Variablenmenge X enthält alle prädikatenlogischen Formeln von For(Σ,X) für α DLProg(Σ,X) und ψ DLFor(Σ,X) auch [α]ϕ ( box alpha phi ) Informelle Bedeutung: Wenn α terminiert, gilt nachher ϕ α ϕ ( diamond alpha phi ) Informelle Bedeutung: α hält, und nachher gilt ϕ Klassifikation: Dynamische Logik ist eine (Multi-)Modallogik. Modallogik mit Formeln ϕ (und ϕ) stammen aus der Philosophie: ich weiss ϕ ich glaube ϕ, ϕ ist möglich Temporallogik: irgendwann wird ϕ wahr sein 192
29 Bemerkungen zur Syntax Boxen und Diamonds binden stärker als Aussagenlogik: [α]ψ χ bedeutet ([α]ψ) χ Schachtelung möglich: α β ψ bedeutet α ( β ψ ) auch gemischte Schachtelung ist erlaubt: [α] x. ϕ β ψ Auch in DL betrachtet man Sequenzen, z.b. α ψ,γ. Wenn x in α vorkommt, x 0 aber nicht, so besagt α x = x 0 : Am Ende von α hat x den Wert, den x 0 jetzt hat α x = x 0 β x = x 0 bedeutet: Wann immer α in x einen Wert x 0 ausrechnet so tut das auch β Man kann in DL also über Programmähnlichkeit reden Es gilt: [α]ψ α ψ Man könnte also Box mit Hilfe von Diamond definieren 193
30 Semantik der Dynamischen Logik Die Semantik von Formeln der Prädikatenlogik wird erweitert durch A,v = [α]ψ : für alle w : (v,w) [[α]] A,w = ψ. A,v = α ψ : es gibt w : (v,w) [[α]] und A,w = ψ. Damit gilt A,v = ϕ{α}ψ A,v = ϕ [α]ψ A,v = ϕ α ψ A,v = ϕ α ψ, Hoare-Tripel sind also spezielle Formeln der Dynamischen Logik. 194
31 Dynamische Logik: Beispiele = [x := 1] x = 1 = x = x0 [x := x + 1] x = x0 + 1 = x = x0 x := x + 1 x = x0 + 1 Unterschied Box/Diamond: = x = 5 [abort] x = 5 = x = 5 abort x = 5 Sequenzen mit Programmen, Programme auch im Antezedent: = x = x0 [x := x + 1] x = x0 + 1 = x > 0 while x > 1 do x := x -1 x = 1 = if x > 0 then y := 1 else abort y = y0 y0 = 1 x > 0 = [if x > 0 then y := 1 else abort] y = y0 y0 = 1 x > 0 x = 0 195
32 Kalkül für Dynamische Logik Grundidee: Symbolische Ausführung von Programmen Betrachte Ausführung des Programms α 1 ;α 2 ;...;α n (α i ohne ; (compound) auf top-level) Annahme: initialer Zustand erfüllt Vorbedingung ϕ 0 Berechne ϕ 1, die stärkste Formel, die nach α 1 gilt Berechne ϕ 2, die stärkste Formel, die nach α 1 ;α 2 gilt... solange bis das Programm verschwunden ist Zum Schluss: Teste ob ϕ n die Nachbedingung impliziert (nur noch PL) Gegenüber Hoare-Kalkül: kein Raten von Zwischenformeln bei seq. Ausführung, Zuweisung vorwärts ausführen! Symb. Ausführung geht sowohl im Antezedent als auch im Sukzedent! 196
33 DL-Kalkül: Normalisierung normalize right normalize left Γ α β ψ, Γ α;β ψ, Γ [α][β]ψ, Γ [α;β]ψ, α β ψ,γ α;β ψ,γ [α][β]ψ,γ [α;β]ψ,γ In KIV: Nie explizit angewandt, die erste Anweisung wird bei jeder Regelanwendung (in allen Programmformeln) immer automatisch abgespalten. KIV rotiert immer die Programmformeln nach vorne. 197
34 DL-Kalkül: Zuweisungen (1) assign right (Hoare-Regel in DL) assign right (Dynamische Logik) Γ ψ τ x, Γ [x := τ]ψ, Γ,x = τ [α x x ]ψ x x, Γ [x := τ][α]ψ, wobei x eine neue Variable ist (bezeichnet den neuen Wert von x) Beachte: Programmvariablen werden umbenannt! 198
35 DL-Kalkül: Zuweisungen (2) in KIV: assign right kombiniert beide Regeln: Original-Hoare-Regel, falls nach der Zuweisung ψ kein Programm mehr enthält sonst die DL Regel Die Regel gilt genau gleich auch für Diamonds statt Boxen Die Regel für Zuweisung auf der linken Seite sieht genauso aus: assign left wobei x eine neue Variable ist x = τ,[α x x ]ψ x x,γ [x := τ][α]ψ,γ 199
36 DL-Kalkül: if Der Kalkül der dynamischen Logik besteht u.a. aus den Regeln des Hoare-Kalküls, wie z.b. if right if positive right Γ,ε [α]ψ, Γ, ε [β]ψ, Γ [if ε then α else β]ψ, Γ,ε [α]ψ, Γ ε, Γ [if ε then α else β]ψ, analog: if negative right, if left etc.. KIV versucht immer die Tests zu entscheiden (per Simplifier), damit nur eine Prämisse entsteht. 200
37 DL-Kalkül: while invariant right invariant right Γ INV, INV,ε [α]inv INV, ε ψ Γ [while ε do α]ψ, Γ INV, INV,ε,v = t α (INV t v) INV, ε ψ Γ while ε do α ψ, KIV: Die Schleifeninvariante INV und im zweiten Fall auch die Schranke t muss von Hand eingegeben werden (v ist neue Variable) 201
38 DL-Kalkül: abort abort right abort left Γ Γ abort ψ, Γ [abort]ψ, abort ψ,γ Γ [abort]ψ,γ 202
39 DL-Kalkül: skip skip right skip left Γ ψ, Γ skip ψ, Γ ψ, Γ [skip]ψ, ψ,γ skip ψ,γ ψ,γ [skip]ψ,γ 203
40 DL-Kalkül: lokale Variablen vardecls right x = τ,γ α x x ϕ Γ let x = τ in α ϕ vardecls left α x x ϕ,x = τ,γ let x = τ in α ϕ,γ x sind neue Variablen (bezeichnen die lokalen Variablen). Dieselbe Regel auch für Boxen. 204
41 Beispiel zur Korrekheit Liste nat. Zahlen x: m := x.first, x0 := x.rest; while x0 [] do { if x0.first > m then m := x0.first ; x0 := x0.rest } 205
42 Beispiel zur Korrekheit Maximum einer nichtleeren Liste nat. Zahlen x: x [] m := x.first, x0 := x.rest; while x0 [] do { if x0.first > m then m := x0.first ; x0 := x0.rest } m = maxl(x) wobei maxl([]) = 0, maxl(n + x) = max(n,maxl(x)) 205
43 Zur nächsten Aufgabe Invarianten vorher überlegen!!! 206
Semantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
MehrFormale Methoden im Software Engineering
Formale Methoden im Software Engineering Eine praktische Einführung Dominik Haneberg, Florian Nafz, Bogdan Tofan 1 Organisatorisches Vorlesung: Mittwoch 12:15 Uhr - 13:45 Uhr (1058 N) Versuche: (Raum 3017
MehrKontrakte, Abstrakte Datentypen und Verfeinerung
Kontrakte, Abstrakte Datentypen und Verfeinerung 229 Kontrakte 230 Vor- und Nachbedingungen, Kontrakte Ein Kontrakt für eine Prozedur p (oder auch für eine Methode) besteht (mindestens) aus einer Vorbedingung
MehrPraktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen
Rev. 1152 1 [23] Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Christoph Lüth & Dennis Walter Universität Bremen Wintersemester 2010/11
MehrFormale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen
Was bisher geschah Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen Syntax: Signatur Semantik: Axiome (FOL-Formeln, meist
MehrInformationsblatt 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
Mehr5 Logische Programmierung
5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen
Mehr7. Formale Sprachen und Grammatiken
7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)
MehrTheoretische Informatik
Theoretische Informatik - das Quiz zur Vorlesung Teil I - Grundzüge der Logik In der Logik geht es um... (A) die Formen korrekten Folgerns (B) die Unterscheidung von wahr und falsch (C) das Finden von
MehrPrädikatenlogik - Micromodels of Software
Prädikatenlogik - Micromodels of Software Philipp Koch Seminar Logik für Informatiker Universität Paderborn Revision: 30. Mai 2005 1 Inhaltsverzeichnis 1 Motivation 3 2 Modelle 3 2.1 Definition eines Modells.......................
MehrEinfache Rechenstrukturen und Kontrollfluss II
Einfache Rechenstrukturen und Kontrollfluss II Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.informatik.uni-muenchen.de/lehre/ss06/infoii/ SS 06 Ziele Lernen imperative
Mehr2. 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
MehrFunktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation
Grundlagen der Programm- und Systementwicklung Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Technische Universität München Institut für Informatik Software &
MehrTeil X. Programmverifikation. Spezifikation eines Algorithmus einer Funktion einer Prozedur. Vorbedingungen Parameter Wertebereiche
Teil X Programmverifikation STRUKTURIERTES PROGRAMMIEREN Vorlesung im Wintersemester 2015 Prof. E.G. Schukat-Talamazzini Stand: 24. Juli 2015 Robert W Floyd 1936 2001 Sir Charles Antony Richard Hoare *1934
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
Mehr2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik
Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
MehrSeminararbeit für das SE Reine Mathematik- Graphentheorie
Seminararbeit für das SE Reine Mathematik- Graphentheorie Der binäre Rang, der symplektische Graph, die Spektralzerlegung und rationale Funktionen Vortrag am 24.01.2012 Heike Farkas 0410052 Inhaltsverzeichnis
MehrKapitel 7: Formaler Datenbankentwurf
7. Formaler Datenbankentwurf Seite 1 Kapitel 7: Formaler Datenbankentwurf Die Schwierigkeiten der konzeptuellen Modellierung sind zu einem großen Teil dadurch begründet, dass sich die relevanten Strukturen
Mehr2. Universelle Algebra
2. Universelle Algebra Die Theorie der universellen Algebra verallgemeinert die Theorien der klassischen Algebren. Obwohl ursprünglich nur eine Sorte betrachtet wurde, werden wir hier gleich den mehrsortigen
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 9: Prädikatenlogik schulz@eprover.org Rückblick 2 Rückblick: Vor- und Nachteile von Aussagenlogik Aussagenlogik ist deklarativ: Syntaxelemente entsprechen
MehrSWP Prüfungsvorbereitung
20. Juni 2011 1 Grammatiken 2 LL(1) 3 EXP 4 Datentypen 5 LP Grammatiken Angabe Erstellen Sie First- und Follow-Mengen aller Non-Terminale der folgenden Grammatik. S a S S B y B A C A A b b A x A ɛ C c
MehrTheoretische Informatik
Theoretische Informatik Einheit 1 Mathematische Methodik 1. Problemlösen 2. Beweistechniken 3. Wichtige Grundbegriffe Methodik des Problemlösens Klärung der Voraussetzungen Welche Begriffe sind zum Verständnis
MehrWas bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):
Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel
MehrDiskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de
Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A
MehrAlgorithmen und Datenstrukturen SS09
Foliensatz 8 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 29 TU Ilmenau Seite / 54 Binärbäume TU Ilmenau Seite 2 / 54 Binäre Bäume Bäume und speziell
MehrÜbungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8
Prof. Dr. Wilhelm Schäfer Paderborn, 8. Dezember 2014 Christian Brenner Tristan Wittgen Besprechung der Aufgaben: 15. - 18. Dezember 2014 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung
MehrModellierung verteilter Systeme Grundlagen der Programm und Systementwicklung
Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrÜbersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15
Übersicht Schleifen Schleifeninvarianten Referenztypen, Wrapperklassen und API CoMa I WS 08/09 1/15 CoMa I Programmierziele Linux bedienen Code umschreiben strukturierte Datentypen Anweisungen und Kontrollstrukturen
Mehr9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83
9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x
MehrGrundlegende Datentypen
Foliensatz 4 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 50 Grundlegende Datentypen TU Ilmenau Seite 2 / 50 Atomare Datentypen
MehrProgrammierung und Modellierung
Programmierung und Modellierung Terme, Suchbäume und Pattern Matching Martin Wirsing in Zusammenarbeit mit Moritz Hammer SS 2009 2 Inhalt Kap. 7 Benutzerdefinierte Datentypen 7. Binärer Suchbaum 8. Anwendung:
Mehrw a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2
1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba
MehrLogik für Informatiker
Vorlesung Logik für Informatiker 3. Aussagenlogik Einführung: Logisches Schließen im Allgemeinen Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Beispiel:
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
MehrI. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.
I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10
Mehr3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrVerträge für die funktionale Programmierung Design und Implementierung
1 Verträge für die funktionale Programmierung Design und Implementierung RALF HINZE Institut für Informatik III, Universität Bonn Römerstraße 164, 53117 Bonn, Germany Email: ralf@informatik.uni-bonn.de
MehrEine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
MehrUniversität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.
Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik Seminar Entscheidungsverfahren für logische Theorien Tobias Hebel Koblenz, am 18.02.2005 Inhaltsverzeichnis 1 Einleitung... 3 2 Grundlagen...
MehrErwin 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
MehrGrammatiken. 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
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
MehrInformatik IC2. Balazs Simon 2005.03.26.
Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................
MehrZusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1
Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur
Mehr2. Lernen von Entscheidungsbäumen
2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse
MehrAssertions (Zusicherungen)
April 10, 2005 Oberseminar Software-Entwicklung Inhalt 1. Einführung (Motivation, Tony Hoare, Programmverifikation) 2. Design by Contract (Idee, Eiffel) 3. Praxis: Programming by Contract for Python 4.
MehrProgrammbeweise mit Z
0/40 Programmbeweise mit Z Andreas Zeller Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken Das Schema-Kalkül 1/40 Z besteht aus zwei Sprachen: der Sprache der gewöhnlichen Mathematik und
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
MehrKapitel 4. Aussagenlogik. 4.1 Boolesche Algebren
Kapitel 4 Aussagenlogik Aussagenlogik war das erste logische System, das als mathematische Logik formuliert werden konnte (George Boole, Laws of Thought, 1854). Aussagenlogik ist die einfachste Logik und
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
MehrGrundlagen 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
MehrKurs 1612 Konzepte imperativer Programmierung Kurs 1613 Einführung in die imperative Programmierung
Aufgaben Aufgabe 1 Schreiben Sie eine PASCAL-Prozedur transponierematrix, die als Parameter eine quadratische Matrix von integer-werten erhält und diese Matrix transponiert, also die Zeilen und Spalten
MehrErgänzungen zur Analysis I
537. Ergänzungsstunde Logik, Mengen Ergänzungen zur Analysis I Die Behauptungen in Satz 0.2 über die Verknüpfung von Mengen werden auf die entsprechenden Regelnfür die Verknüpfung von Aussagen zurückgeführt.
MehrGuten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
MehrKapitel 5: Applikative Programmierung
Kapitel 5: Applikative Programmierung In der applikativen Programmierung wird ein Programm als eine mathematische Funktion von Eingabe-in Ausgabewerte betrachtet. Das Ausführen eines Programms besteht
MehrFormeln. 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
MehrFoundations of Systems Development
Foundations of Systems Development Vergleich und Zusammenfassung Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer WS 2007/08 2 Ziele Wichtige Aspekte von algebraischen Spezikationen
MehrHaskell zur Constraint-Programmierung HaL8
Haskell zur Constraint-Programmierung HaL8 Alexander Bau 2. Mai 2013 Wir benutzen eine Teilmenge von Haskell zur Spezifikation von Constraint- Systemen über Haskell-Datentypen. Ein Constraint-Compiler
MehrKapitel DB:V (Fortsetzung)
Kapitel DB:V (Fortsetzung) V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-67 Relational Algebra
Mehr1 Syntax von Programmiersprachen
1 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ): formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmier-Sprache Festlegung, wie Programme
MehrZusammenhänge präzisieren im Modell
Zusammenhänge präzisieren im Modell Dr. Roland Poellinger Munich Center for Mathematical Philosophy Begriffsfeld Logik 1 Mathematik und Logik Die Mathematik basiert auf logisch gültigen Folgerungsschritten
MehrAlgorithmen 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
MehrFormale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30
Formale Methoden II SS 2008 Universität Bielefeld Teil 8, 11. Juni 2008 Gerhard Jäger Formale Methoden II p.1/30 Beispiele Anmerkung: wenn der Wahrheitswert einer Formel in einem Modell nicht von der Belegungsfunktion
MehrGibt es verschiedene Arten unendlich? Dieter Wolke
Gibt es verschiedene Arten unendlich? Dieter Wolke 1 Zuerst zum Gebrauch des Wortes unendlich Es wird in der Mathematik in zwei unterschiedlichen Bedeutungen benutzt Erstens im Zusammenhang mit Funktionen
Mehr4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum
4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.
MehrGliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten
Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und
MehrVorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz
Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)
MehrEinfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at
Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache
MehrProlog basiert auf Prädikatenlogik
Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrProgrammierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.
1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache
MehrAlgorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
MehrWissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)
Was bisher geschah Wissensrepräsentation und -verarbeitung in Logiken klassische Aussagenlogik klassische Prädikatenlogik: Wiederholung Syntax, Semantik Normalformen: bereinigt Pränex Skolem ( -Eliminierung)
MehrProgrammieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm
Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende
MehrMathematische Maschinen
Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische
MehrAutomaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka
Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka Literatur: John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie,
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick
MehrSprachbeschreibung und Erweiterung
Sprachbeschreibung und Erweiterung Worte, Sprachen, reguläre Ausdrücke, Automaten, BNF, Grammatik, Syntax- Diagramme, Spracherweiterungen do, for, break, switch Formale Beschreibung von Programmiersprachen
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrGliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
MehrSpezifikation und Test: Zusicherungen in Klassendiagrammen
Spezifikation und Test: Zusicherungen in Klassendiagrammen Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele OCL, die Object Constraint Language, kennen lernen Lernen
MehrÜbungen zur Vorlesung Verteilte Algorithmen II, Heiko Krumm, Universität Dortmund, FB Informatik
Übung 4: Gegenseitiger Ausschluss (Ricart-Agrawala 1981) Konstanten: n >1 Anzahl der Prozesse; r Adresse des Prozesses, der initial das Token besitzt. Prozessparameter i sei die Adresse der aktuellen Prozessinstanz,
MehrFragenkatalog Software Engineering I & II 25 Februar 1997 Bernd Thomas Ich habe mal eine kleine Liste der Fragen, die ich so in den Prufungsprotokollen gefunden habe, zusammengetragen. Im groen und ganzen
MehrBinäre lineare Optimierung mit K*BMDs p.1/42
Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre
MehrDiskrete Mathematik für Informatiker
Diskrete Mathematik für Informatiker Markus Lohrey Universität Siegen Wintersemester 2014/2015 Lohrey (Universität Siegen) Diskrete Mathematik Wintersem. 2014/2015 1 / 344 Organisatorisches zur Vorlesung
MehrBinärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T:
Binäre Bäume Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T: BinTree [T: TYPE]: DATATYPE empty: empty? node (key: T, left:bibtree, right:bibtree):
MehrTheoretische Informatik
Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:
MehrAlgorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.
Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte
MehrSemestralklausur zu Modellierung verteilter Systeme
Name: Vorname: Matr.Nr: Technische Universität München WS 2010/2011 Institut für Informatik Prof. Manfred Broy 09.02.2011 Semestralklausur zu Modellierung verteilter Systeme Allgemeine Hinweise: Schreiben
Mehr