Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Größe: px
Ab Seite anzeigen:

Download "Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:"

Transkript

1 Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert. Und zwar so, dass es für jedes m M einen Knoten v von T gibt mit m v = m. Für jeden Knoten v von T, alle Knoten u im linken Teilbaum unter v und alle Knoten w im rechten Teilbaum unter v gilt: m u < m v < m w. Implementation als Logik-Programm: Programm 3.14: searchtree.pl % Binaere Suchbaeume mit Integer-Eintraegen in den Knoten bst(x) :- bst(x, minus_infinity, infinity). bst(nil, _, _). % leerer Suchbaum bst(node(n,tl,tr), Nmin, Nmax) :- integer(n), leq(nmin,n), leq(n,nmax), NminusOne is N-1, NplusOne is N+1, bst(tl, Nmin, NminusOne), bst(tr, NplusOne, Nmax). % leq steht fuer "less than or equal to" leq(minus_infinity, _). leq(_, infinity). leq(n,m) :- integer(n), integer(m), N =< M. % Zahl einfuegen in einen bst bst_insert(n, nil, node(n,nil,nil)). bst_insert(n, node(n,tl,tr), node(n,tl,tr)). bst_insert(n, node(m,tl,tr), node(m,ul,tr)) :- N < M, bst_insert(n, Tl, Ul). bst_insert(n, node(m,tl,tr), node(m,tl,ur)) :- N > M, bst_insert(n, Tr, Ur). % Liste von Zahlen einfuegen in einen bst bst_list_insert([], T, T). 26. November 2014 Seite 123

2 bst_list_insert([n Ns], T, U) :- bst_insert(n, T, T1), bst_list_insert(ns, T1, U). % Testen, ob Zahl in bst enthalten ist bst_member(n, node(n,_,_)). bst_member(n, node(m,tl,_)) :- N < M, bst_member(n, Tl). bst_member(n, node(m,_,tr)) :- N > M, bst_member(n, Tr). % Maximales Element finden und loeschen bst_delmax(node(m,tl,nil), M, Tl). bst_delmax(node(m,tl,tr), N, node(m,tl,u)) :- bst_delmax(tr, N, U). % Zahl loeschen bst_delete(_, nil, nil). bst_delete(n, node(n,tl,nil), Tl). bst_delete(n, node(n,nil,tr), Tr). bst_delete(n, node(n,tl,tr), node(m,u,tr)) :- bst_delmax(tl, M, U). bst_delete(n, node(m,tl,tr), node(m,u,tr)) :- N < M, bst_delete(n, Tl, U). bst_delete(n, node(m,tl,tr), node(m,tl,u)) :- N > M, bst_delete(n, Tr, U). Folie 191 Repräsentation aussagenlogischer Formeln und Interpretationen 1. Ziel: al(term) soll besagen, dass Term eine aussagenlogische Formel repräsentiert. Ansatz: Die booleschen Konstanten 0 und 1 repräsentieren wir durch die booleschen Werte 0 und 1. Aussagensymbole (d.h. Aussagenvariablen) repräsentieren wir durch Atome (d.h. Zeichenketten, die mit einem Kleinbuchstaben beginnen oder in einfachen Anführungszeichen stehen). Die Junktoren,,, repräsentieren wir durch die Operatoren ~, /\, \/, =>. Wir wollen diese auf die übliche Art schreiben, d.h. wir wollen z.b. schreiben: Seite November 2014

3 statt (a /\ b) => ~c => ( /\ (a, b), ~(c) ) (wobei Letzteres die natürliche Term-Darstellung des Syntaxbaums der Formel ist). Dies erreichen wir in Prolog durch die folgende Definition von Operatoren: Folie 192 :- op(100, fy, ~). % Negation :- op(200, xfx, /\). % Konjunktion :- op(200, xfx, \/). % Disjunktion :- op(300, xfx, =>). % Implikation Generelles Schema von Operatordefinitionen in Prolog: :- op(x,y,z). mit X : Priorität des Operators (ganze Zahl zwischen 1 und 1200; je näher bei 1 desto höher die Priorität), Y : Spezifikation des Operators, Z : Name des Operators. Die Spezifikation fy gibt an, dass der Operator 1-stellig ist, von links an sein Argument geschrieben wird und assoziativ ist. Beispiel: ~ ~ ~ a steht für ~(~(~(a))) Die Spezifikation xfx gibt an, dass der Operator 2-stellig ist, zwischen seine beiden Argumente geschrieben wird und nicht assoziativ ist. Beispiel: ( (a /\ b) /\ c ) steht für /\ ( /\ (a,b), c ). ( a /\ b /\ c ) ist nicht erlaubt. Das 1. Ziel, eine Beschreibung al(term), die besagt, dass Term eine aussagenlogische Formel repräsentiert, wird durch die Zeilen 1 20 des unten stehenden Programms al.pl erreicht. Folie Ziel: Repräsentiere aussagenlogische Interpretationen durch eine geeignete Datenstruktur, die Zugriff auf die den einzelnen Aussagensymbolen zugeordneten Wahrheitswerte liefert. Dies wird durch die Zeilen des Programms al.pl erreicht. 26. November 2014 Seite 125

4 3. Ziel: al eval(i,f,wert) soll besagen, dass die Formel F unter Interpretation I den Wahrheitswert Wert hat. Dies wird durch die Zeilen des Programms al.pl erreicht. Programm 3.15: al.pl % aussagenlogische Junktoren :- op(100, fy, ~). % Negation :- op(200, xfx, /\). % Konjunktion :- op(200, xfx, \/). % Disjunktion :- op(300, xfx, =>). % Implikation % boolesche Konstanten 0 und 1 bool(0). bool(1). % Aussagensymbole werden durch Atome repraesentiert as(x) :- atom(x). % al(term) besagt: Term repraesentiert eine aussagenlogische Formel al(b) :- bool(b). al(x) :- as(x). al(~ F) :- al(f). al(f1 /\ F2) :- al(f1), al(f2). al(f1 \/ F2) :- al(f1), al(f2). al(f1 => F2) :- al(f1), al(f2). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Interpretationen % % repraesentiere z.b. Interpret. I mit I(a)=0, I(b)=1, I(c)=0 % durch Liste [ maps(a,0), maps(b,1), maps(c,0) ] % die Interpretation mit leerem Definitionsbereich al_interpret_init([]). % al_interpret_get(i,x,b) bedeutet: % B ist der Wahrheitswert von X gemaess Interpretation I al_interpret_get([maps(x,b) _], X, B). al_interpret_get([maps(x1,_) J], X, B) :- X1 \== X, al_interpret_get(j, X, B). % al_interpret_put(i,x,b,j) bedeutet: J entsteht aus I, indem das Seite November 2014

5 % Aussagensymbol X auf den Wahrheitswert B agbebildet wird al_interpret_put(i, X, B, [maps(x,b) I]). % al_list2interpret(l,i) besagt, dass die Interpretation I % gemaess der Liste L definiert ist. Bsp: L von der Form % [ X1, B1, X2, B2,...] besagt, dass % das Aussagensymbol Xi den Wert Bi bekommt al_list2interpret([], I) :- al_interpret_init(i). al_list2interpret([x,b L], I) :- al_list2interpret(l, J), al_interpret_put(j, X, B, I). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Auswertung von Formeln % % Ist I eine Interpretation, F eine aussagenlogische Formel und gilt % al_eval(i, F, Wert), so gibt Wert den Wahrheitswert von F % bzgl. der Interpretation I an al_eval(_, 0, 0). al_eval(_, 1, 1). al_eval(i, X, W) :- al_interpret_get(i, X, W). al_eval(i, ~ F, 0) :- al_eval(i, F, 1). al_eval(i, ~ F, 1) :- al_eval(i, F, 0). al_eval(i, F1 /\ _, 0) :- al_eval(i, F1, 0). al_eval(i, _ /\ F2, 0) :- al_eval(i, F2, 0). al_eval(i, F1 /\ F2, 1) :- al_eval(i, F1, 1), al_eval(i, F2, 1). al_eval(i, F1 \/ _, 1) :- al_eval(i, F1, 1). al_eval(i, _ \/ F2, 1) :- al_eval(i, F2, 1). al_eval(i, F1 \/ F2, 0) :- al_eval(i, F1, 0), al_eval(i, F2, 0). al_eval(i, F1 => _, 1) :- al_eval(i, F1, 0). al_eval(i, _ => F2, 1) :- al_eval(i, F2, 1). al_eval(i, F1 => F2, 0) :- al_eval(i, F1, 1), al_eval(i, F2, 0). Folie 194 Normalformen aussagenlogischer Formeln Ziele: al lit(x) soll testen, ob X ein aussagenlogisches Literal repräsentiert. al nnf(f) soll testen, ob F eine aussagenlogische Formel in Negationsnormalform repräsentiert. al clause(d) soll testen, ob D eine disjunktive Klausel repräsentiert. 26. November 2014 Seite 127

6 al cclause(c) soll testen, ob C eine konjunktive Klausel repräsentiert. al cnf(f) soll testen, ob F eine aussagenlogische Formel in konjunktiver Normalform repräsentiert. al dnf(f) soll testen, ob F eine aussagenlogische Formel in disjunktiver Normalform repräsentiert. al2nnf(f,g) soll eine gegebene Formel F in eine dazu äquivalente Formel G in Negationsnormalform transformieren. Programm 3.16: alnormalformen.pl :- ensure_loaded([al]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Teste, ob eine Formel eine bestimmte Gestalt hat % % Literal al_lit(x) :- as(x). al_lit(~ X) :- as(x). % Negationsnormalform al_nnf(f) :- al_lit(f). al_nnf(f /\ G) :- al_nnf(f), al_nnf(g). al_nnf(f \/ G) :- al_nnf(f), al_nnf(g). % disjunktive Klausel al_emptyclause(0). al_clause(l) :- al_lit(l). al_clause(l \/ D) :- al_lit(l), al_clause(d). % Konjunktive Normalform al_cnf(f) :- al_clause(f). al_cnf(c /\ F) :- al_clause(c), al_cnf(f). % konjunktive Klausel al_emptycclause(1). al_cclause(l) :- al_lit(l). al_cclause(l /\ C) :- al_lit(l), al_cclause(c). % disjunktive Normalform Seite November 2014

7 al_dnf(f) :- al_cclause(f). al_dnf(c \/ F) :- al_cclause(c), al_dnf(f). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Transformation in NNF al2nnf(f,g) :- al2nnf(f,g,_). % al2nnf/3 gibt fuer eine Formel und ihr Negat aequivalente % Formeln in NNF. D.h.: al2nnf(f,g,h) bedeutet: % G ist NNF fuer F, und H ist NNF fuer ~F. % Konstruktion: analog zum Beweis von Satz 2.38 al2nnf(0,0,1). al2nnf(1,1,0). al2nnf(x, X, ~ X) :- as(x). al2nnf(~ X, ~ X, X) :- as(x). al2nnf(~ F, G, H) :- al2nnf(f, H, G). al2nnf(f1 /\ F2, G1 /\ G2, H1 \/ H2) :- al2nnf(f1,g1,h1), al2nnf(f2,g2,h2). al2nnf(f1 \/ F2, G1 \/ G2, H1 /\ H2) :- al2nnf(f1,g1,h1), al2nnf(f2,g2,h2). al2nnf(f1 => F2, H1 \/ G2, G1 /\ H2) :- al2nnf(f1,g1,h1), al2nnf(f2,g2,h2). 3.4 Operationelle Semantik Deklarative vs. Operationelle Semantik Folie 195 Die deklarative Semantik von Logikprogrammen beruht auf einer logischen Interpretation von Programmen (Regeln als Implikationen) und logischer Deduktion. Jetzt werden wir dieser deklarativen Semantik eine operationelle Semantik gegenüberstellen, indem wir einen Algorithmus angeben, der Programme ausführt (auf einem abstrakten, nichtdeterministischen Maschinenmodell). Dadurch legen wir ebenfalls die Antworten auf die Anfragen fest und weisen somit Programmen eine Bedeutung zu. Wir werden sehen, dass die deklarative Bedeutung von Programmen mit der operationellen übereinstimmt. 26. November 2014 Seite 129

8 Folie 196 Semantik von Programmiersprachen im Allgemeinen Generell unterscheidet man zwischen zwei Wegen, die Semantik von Programmiersprachen zu definieren: Die deklarative oder denotationelle Semantik ordnet Programmen Objekte in abstrakten mathematischen Räumen zu, in der Regel partielle Funktionen, oder im Fall von Logikprogrammen Mengen von Grundtermen. Zur Erinnerung: Die Bedeutung B(Π) eines Logik-Programms Π hatten wir definiert als die Menge aller Grundterme, die aus Π ableitbar sind. Die operationelle Semantik legt fest, wie Programme auf abstrakten Maschinenmodellen ausgeführt werden und bestimmt dadurch ihre Bedeutung. Folie 197 Notation PA := die Menge aller Atome PV := die Menge aller Variablen PK := die Menge aller Konstanten PT := die Menge aller Terme PF := die Menge aller Anfragen (d.h.: nicht-leere Listen von Termen) PR := die Menge aller Regeln PP := die Menge aller Logikprogramme Für jedes ξ aus PT PF PR PP bezeichnet Var(ξ) die Menge aller Variablen, die in ξ vorkommen. Ist S eine Substitution und α PF von der Form α 1,..., α m, so bezeichnet αs die Anfrage α 1 S,..., α m S. Entsprechend definieren wir für jede Regel ρ PR die Regel ρs. Seite November 2014

9 Beispiel. Ist ρ die Regel path(x,y) :- edge(x,z), path(z,y) dann ist Var(ρ) = {X, Y, Z}. Folie 198 Mehr über Substitutionen Zur Erinnerung: Eine Substitution ist eine partielle Abbildung S von PV nach PT. Den Definitionsbereich von S bezeichnen wir mit def(s), den Bildbereich mit bild(s). Die Verkettung zweier Substitutionen S und T ist die Substitution ST mit def(st ) = def(s) def(t ) und X(ST ) := (XS)T für alle X def(st ). Die Einschränkung einer Substitution S auf eine Menge V von Variablen ist die Substitution S V mit def(s V ) = def(s) V und XS V := XS für alle X def(s). Die leere Substitution bezeichnen wir mit I. Es gilt: θi = θ für alle θ PT, und IS = SI = S für alle Substitutionen S. Folie 199 Umbennungen Eine Umbenennung ist eine injektive partielle Abbildung von PV nach PV. Wegen PV PT, sind Umbenennungen spezielle Substitutionen. Eine Umbenennung für eine Menge V von Variablen ist eine Umbennung U mit def(u) = V. Ist U eine Umbennung, so bezeichnet U 1 ihre Umkehrung. Beispiel: U := {X Y, Y Z} ist eine Umbenennung für {X, Y}. U 1 = {Y X, Z Y} ist die Umkehrung von U. Folie November 2014 Seite 131

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. 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

Mehr

A.1 Schaltfunktionen und Schaltnetze

A.1 Schaltfunktionen und Schaltnetze Schaltfunktionen und Schaltnetze A. Schaltfunktionen und Schaltnetze 22 Prof. Dr. Rainer Manthey Informatik II Bedeutung des Binärsystems für den Rechneraufbau Seit Beginn der Entwicklung von Computerhardware

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

Prolog basiert auf Prädikatenlogik

Prolog 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:

Mehr

Programmierung und Modellierung

Programmierung 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:

Mehr

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen aussagenlogischer Regeln: Wissensbasis (Kontextwissen): Formelmenge,

Mehr

Logik & Semantik 7. Vorlesung Prädikatenlogik 1. Syntax der Prädikatenlogik Semantik der Prädikatenlogik: Grundbegriffe (Variablen-)Substitutionen

Logik & Semantik 7. Vorlesung Prädikatenlogik 1. Syntax der Prädikatenlogik Semantik der Prädikatenlogik: Grundbegriffe (Variablen-)Substitutionen Logik & Semantik 7. Vorlesung Prädikatenlogik 1 Syntax der Prädikatenlogik Semantik der Prädikatenlogik: Grundbegriffe (Variablen-)Substitutionen 1 Definition eines logischen Systems: Generelles Schema

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise: Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.4 Prädikatenlogik mit Gleichheit Resolution 192 Beispiel Bsp.: Betrachte Schlussweise in: 1 Wenn es regnet, dann wird die Straße nass. R N

Mehr

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):

Was 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

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 29/ Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws9

Mehr

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine 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

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 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)

Mehr

Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3

Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3 Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3 Aufgabe 1 (20 Punkte) Dialogische Logik a) Was isteine formal wahrebehauptung? Welche Aussageschematasindallgemeingültig? b) Überprüfen

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Datenstrukturen DCG Grammatiken. Tutorial I Operationen auf Datenstrukturen II Bäume DCGs und Semantik II

Datenstrukturen DCG Grammatiken. Tutorial I Operationen auf Datenstrukturen II Bäume DCGs und Semantik II Datenstrukturen DCG Grammatiken Tutorial I Operationen auf Datenstrukturen II Bäume DCGs und Semantik II Bäume Repräsentation von Mengen durch binäre Bäume: Eine häufige Anwendung von Listen ist es Mengen

Mehr

Prädikatenlogik: Grundlagen

Prädikatenlogik: Grundlagen Prädikatenlogik: Grundlagen Vorversion der Folien des Kap. 9! Stand 15.05.2007 Im Verlauf der Vorlesungen zu diesem Kapitel werden Änderungen und Ergänzungen erfolgen. Sie sollten daher sorgfältig auf

Mehr

Entwicklung eines korrekten Übersetzers

Entwicklung eines korrekten Übersetzers Entwicklung eines korrekten Übersetzers für eine funktionale Programmiersprache im Theorembeweiser Coq Thomas Strathmann 14.01.2011 Gliederung 1 Einleitung

Mehr

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung 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

Mehr

Spezifikation der zulässigen Parameter. Bemerkungen: Bemerkungen: (2) Design by Contract:

Spezifikation der zulässigen Parameter. Bemerkungen: Bemerkungen: (2) Design by Contract: Spezifikation der zulässigen Parameter Bemerkungen: Bei jeder (partiellen) Funktion muss man sich überlegen und dokumentieren, welche aktuellen Parameter bei einer Anwendung zulässig sein sollen. Der Anwender

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Kapitel 3: Boolesche Algebra

Kapitel 3: Boolesche Algebra Inhalt: 3.1 Grundlegende Operationen und Gesetze 3.2 Boolesche Funktionen u. u. ihre Normalformen 3.3 Vereinfachen von booleschen Ausdrücken 3.4 Logische Schaltungen 3.1 Grundlegende Operationen und Gesetze

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

System Modell Programm

System Modell Programm Wolfgang P. Kowalk System Modell Programm Vom GOTO zur objektorientierten Programmierung Spektrum Akademischer Verlag Heidelberg Berlin Oxford Inhaltsverzeichnis Vorwort 3 Inhaltsverzeichnis 5 1 Einleitung

Mehr

Einführung in PROLOG. Christian Stocker

Einführung in PROLOG. Christian Stocker Einführung in PROLOG Christian Stocker Inhalt Was ist PROLOG? Der PROLOG- Interpreter Welcher Interpreter? SWI-Prolog Syntax Einführung Fakten, Regeln, Anfragen Operatoren Rekursion Listen Cut Funktionsweise

Mehr

Signalverarbeitung 1

Signalverarbeitung 1 TiEl-F000 Sommersemester 2008 Signalverarbeitung 1 (Vorlesungsnummer 260215) 2003-10-10-0000 TiEl-F035 Digitaltechnik 2.1 Logikpegel in der Digitaltechnik In binären Schaltungen repräsentieren zwei definierte

Mehr

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik. Kursleiter : W. Zimmer 1/24 Digitale Darstellung von Größen Eine Meßgröße ist digital, wenn sie in ihrem Wertebereich nur eine endliche Anzahl von Werten annehmen kann, also "abzählbar" ist. Digital kommt

Mehr

4. Digitale Datendarstellung

4. Digitale Datendarstellung 4 Digitale Datendarstellung Daten und Codierung Textcodierung Codierung natürlicher Zahlen - Stellenwertsysteme - Konvertierung - Elementare Rechenoperationen Codierung ganzer Zahlen - Komplementdarstellung

Mehr

Kapitel 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 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:

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10 Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien

Mehr

Formelsammlung. Wahrscheinlichkeit und Information

Formelsammlung. Wahrscheinlichkeit und Information Formelsammlung Wahrscheinlichkeit und Information Ein Ereignis x trete mit der Wahrscheinlichkeit p(x) auf, dann ist das Auftreten dieses Ereignisses verbunden mit der Information I( x): mit log 2 (z)

Mehr

D A T E N... 1 Daten Micheuz Peter

D A T E N... 1 Daten Micheuz Peter D A T E N.....! Symbole, Alphabete, Codierung! Universalität binärcodierter Daten! Elementare Datentypen! Speicherung binärcodierter Daten! Befehle und Programme! Form und Bedeutung 1 Daten Micheuz Peter

Mehr

Binärer Entscheidungsbaum. für Boole sche Funktionen. (binary decision tree: BDT) Kapitel 4: Binäre Entscheidungsdiagramme

Binärer Entscheidungsbaum. für Boole sche Funktionen. (binary decision tree: BDT) Kapitel 4: Binäre Entscheidungsdiagramme Kapitel 4: Binäre Entscheidungsdiagramme (BDDs) BDDs (binary decision diagrams) wurden aus binären Entscheidungsbäumen für boole sche Funktionen entwickelt. Binärer Entscheidungsbaum (binary decision tree:

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

1 Aussagenlogik und Mengenlehre

1 Aussagenlogik und Mengenlehre 1 Aussagenlogik und engenlehre 1.1 engenlehre Definition (Georg Cantor): nter einer enge verstehen wir jede Zusammenfassung von bestimmten wohl unterschiedenen Objekten (m) unserer Anschauung oder unseres

Mehr

Logik-Programme. Eine Tatsachenklausel ist eine einelementige positive Klausel, d.h. sie hat

Logik-Programme. Eine Tatsachenklausel ist eine einelementige positive Klausel, d.h. sie hat Logik-Programme Definition: Eine Tatsachenklausel ist eine einelementige positive Klausel, d.h. sie hat die Form {P }. Eine Prozedurklausel ist eine Klausel der Form {P, Q 1, Q 2,..., Q k } mit k 1. P

Mehr

Algorithmen und Datenstrukturen Balancierte Suchbäume

Algorithmen und Datenstrukturen Balancierte Suchbäume Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Seminararbeit 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

Mehr

Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Winter-Semester 2003/04. Wissensrepräsentation: Resolution (im PK1)

Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Winter-Semester 2003/04. Wissensrepräsentation: Resolution (im PK1) Einführung in die KI Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung Wissensrepräsentation: Resolution (im PK1) 2. Resolution Vorbild für Formalismus : exakt, präzise, (theoretisch) beherrscht Aufbau: Zeichen

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

Vorlesung. Funktionen/Abbildungen 1

Vorlesung. Funktionen/Abbildungen 1 Vorlesung Funktionen/Abbildungen 1 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

Foundations of Systems Development

Foundations 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

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

DATENSTRUKTUREN UND ZAHLENSYSTEME

DATENSTRUKTUREN UND ZAHLENSYSTEME DATENSTRUKTUREN UND ZAHLENSYSTEME RALF HINZE Institute of Information and Computing Sciences Utrecht University Email: ralf@cs.uu.nl Homepage: http://www.cs.uu.nl/~ralf/ March, 2001 (Die Folien finden

Mehr

Schaltalgebra - logische Schaltungen

Schaltalgebra - logische Schaltungen Schaltalgebra - logische Schaltungen Bakkalaureatsarbeit im Rahmen des Mathematischen Seminars unter Leitung von Wolfgang Schmid eingereicht von Verena Horak Salzburg, Sommersemester 2003 Inhaltsverzeichnis

Mehr

Kontrakte, Abstrakte Datentypen und Verfeinerung

Kontrakte, 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

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

1. Grundlegende Konzepte der Informatik

1. Grundlegende Konzepte der Informatik 1. Grundlegende Konzepte der Informatik Inhalt Algorithmen Darstellung von Algorithmen mit Programmablaufplänen Beispiele für Algorithmen Aussagenlogik Zahlensysteme Kodierung Peter Sobe 1 Algorithmen

Mehr

Grundlagen der Programmierung 2. Bäume

Grundlagen der Programmierung 2. Bäume Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)

Mehr

Inhaltsverzeichnis. Inhalt. 1 Einleitung

Inhaltsverzeichnis. Inhalt. 1 Einleitung Inhalt 3 Inhaltsverzeichnis 1 Einleitung 1.1 Digitale und analoge Signale... 9 1.2 Digitale Darstellung... 12 1.3 Datenübertragung... 14 1.4 Aufgaben digitaler Schaltungen... 17 1.5 Geschichte der Digitalrechner...

Mehr

Skriptum zur Vorlesung Mathematische Logik

Skriptum zur Vorlesung Mathematische Logik Skriptum zur Vorlesung Mathematische Logik Klaus Gloede Mathematisches Institut der Universität Heidelberg Wintersemester 2006/07 INHALTSVERZEICHNIS i Inhaltsverzeichnis I Collegium Logicum 1 1 Die Aussagenlogik

Mehr

Rechnen mit Dualzahlen

Rechnen mit Dualzahlen Konrad-Zuse-Museum: Die frühen Computer (Z-Z) Einführung in die moderne Rechentechnik Rechnen mit Dualzahlen Das Z-Addierermodell 3 Rechnerarchitektur Halblogarithmische Zahlendarstellung Rechnen mit Dualzahlen

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)

Mehr

Daten, Informationen, Kodierung. Binärkodierung

Daten, Informationen, Kodierung. Binärkodierung Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:

Mehr

183.580, WS2012 Übungsgruppen: Mo., 22.10.

183.580, WS2012 Übungsgruppen: Mo., 22.10. VU Grundlagen digitaler Systeme Übung 2: Numerik, Boolesche Algebra 183.580, WS2012 Übungsgruppen: Mo., 22.10. Aufgabe 1: Binäre Gleitpunkt-Arithmetik Addition & Subtraktion Gegeben sind die Zahlen: A

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

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume

Mehr

13. Binäre Suchbäume

13. 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),

Mehr

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4

Arbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4 Arbeiten mit s Eine effiziente Programmierung mit PHP ohne seine s ist kaum vorstellbar. Diese Datenstruktur muss man verstanden haben, sonst brauchen wir mit weitergehenden Programmiertechniken wie der

Mehr

Ruby. Erfinder: Yukihiro Matsumoto Japan 1993 Einflüsse: Smalltalk Perl Eigenschaften: Objektorientiert Interpretiert

Ruby. Erfinder: Yukihiro Matsumoto Japan 1993 Einflüsse: Smalltalk Perl Eigenschaften: Objektorientiert Interpretiert Ruby Erfinder: Yukihiro Matsumoto Japan 1993 Einflüsse: Smalltalk Perl Eigenschaften: Objektorientiert Interpretiert I believe that the purpose of live is, at least in part, to be happy. Based on this

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Algorithmen und Datenstrukturen SS09

Algorithmen 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

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden

Mehr

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies Kapitel 7 Dr. Jérôme Kunegis Logische Kalküle WeST Web Science & Technologies Lernziele Grundideen des Domain-Relationenkalküls (DRK) und des Tupel-Relationenkalküls (TRK) Relationale Datenbank als Formelmenge

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes

Mehr

Programmiertechnik II

Programmiertechnik II Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume 1 Kapitel 13 Ziele 2 Den Begriff des Baums in der Informatik kennenlernen als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf n verstehen und schreiben können Verschiedene Möglichkeiten

Mehr

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Bearbeitungszeit: 270 Minuten Hilfsmittel: Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler,

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

Unterrichtsvorhaben Q2- I:

Unterrichtsvorhaben Q2- I: Schulinterner Lehrplan Informatik Sekundarstufe II Q2 III. Qualifikationsphase Q2 Unterrichtsvorhaben Q2- I: Im ersten Halbjahr 1 Klausur, im 2. Halbjahr ein Projekt. Die Länge der Klausur beträgt 90 min.

Mehr

Übungsaufgaben für "Grundlagen der Informationsverarbeitung" (mit Lösungen)

Übungsaufgaben für Grundlagen der Informationsverarbeitung (mit Lösungen) Übungsaufgaben für "Grundlagen der Informationsverarbeitung" (mit Lösungen). Erläutern Sie die Begriffe Bit, Byte und Wort bezogen auf einen 6 Bit Digitalrechner. Bit: Ein Bit ist die kleinste, atomare,

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

Sprechen wir über Zahlen (Karl-Heinz Wolff)

Sprechen wir über Zahlen (Karl-Heinz Wolff) Sprechen wir über Zahlen (Karl-Heinz Wolff) Die Überschrift ist insoweit irreführend, als der Autor ja schreibt und nicht mit dem Leser spricht. Was Mathematik im allgemeinen und Zahlen im besonderen betrifft,

Mehr

WS 2011/2012. Georg Sauthoff 1. November 10, 2011

WS 2011/2012. Georg Sauthoff 1. November 10, 2011 in in WS 2011/2012 Georg 1 AG Praktische Informatik November 10, 2011 1 gsauthof@techfak.uni-bielefeld.de Kontakt in Dr. Georg Email: gsauthof@techfak.uni-bielefeld.de M3-128 in Organisation der Übungen

Mehr

Präsentation zum Thema XML Datenaustausch und Integration

Präsentation zum Thema XML Datenaustausch und Integration Sebastian Land Präsentation zum Thema XML Datenaustausch und Integration oder Warum eigentlich XML? Gliederung der Präsentation 1. Erläuterung des Themas 2. Anwendungsbeispiel 3. Situation 1: Homogene

Mehr

Herbst. Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen. Prüfungsteilnehmer prüfungstermin Einzelprüfungsnummei. - Prüfungsaufgaben -

Herbst. Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen. Prüfungsteilnehmer prüfungstermin Einzelprüfungsnummei. - Prüfungsaufgaben - Prüfungsteilnehmer prüfungstermin Einzelprüfungsnummei Kennzahl: Kennwort: Arbeitsplatz-Nr.: Herbst 2000 46114 Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen - Prüfungsaufgaben - Fach: Einzelprüfung:

Mehr

Kurze Einführung in IBM SPSS für Windows

Kurze Einführung in IBM SPSS für Windows Kurze Einführung in IBM SPSS für Windows SPSS Inc. Chicago (1968) SPSS GmbH Software München (1986) 1984: Datenanalyse Software für den PC 1992: Datenanalyse Software unter Windows 1993: Datenanalyse Software

Mehr

Logischer Entwurf binärer Systeme

Logischer Entwurf binärer Systeme Logischer Entwurf binärer Systeme Prof. Dr. sc. techn. Hans Joachim Zander 3., bearbeitete Auflage VEB VERLAG TECHNIK BERLIN Inhaltsverzeichnis Bedeutung häufig verwendeter Buchstaben 11 Bedeutung häufig

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen Suchbaum Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen

Mehr

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt: Informatik 13: Gierhardt Theoretische Informatik III Berechenbarkeit Nicht-berechenbare Funktionen Nach der Church-Turing-These kann alles, was berechenbar ist, mit einer Turing-Maschine oder einer While-Maschine

Mehr

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

w 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

Mehr

Formale Methoden im Software Engineering

Formale 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

Mehr

2. Die Darstellung von Algorithmen

2. Die Darstellung von Algorithmen 2. Die Darstellung von Algorithmen Aus den Einführungsbeispielen und Übungsaufgaben ist erkennbar, dass zur Darstellung von Algorithmen Grundelemente notwendig sind. Neben der Notation einzelner elementarer

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.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

Mehr

Lösungshinweise zu Kapitel 13

Lösungshinweise zu Kapitel 13 L-112 Lösungshinweise zu Kapitel 13 zu Selbsttestaufgabe 13.2 (Eigenschaften der bedingten Unabhängigkeit) Sei P eine Wahrscheinlichkeitsverteilung über V. Wir setzen im Folgenden stillschweigend voraus,

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm 1 Vom Problem zum Programm Ein Problem besteht darin, aus einer gegebenen Menge von Informationen eine weitere (bisher unbekannte) Information zu bestimmen. 1 Vom Problem zum Programm Ein Algorithmus ist

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

Mehr

Projektive Moduln. Lemma/Definition 1.1. Folgende Aussagen für einen R-Modul P sind äquivalent: (i) P erfüllt folgende Liftungseigenschaft:

Projektive Moduln. Lemma/Definition 1.1. Folgende Aussagen für einen R-Modul P sind äquivalent: (i) P erfüllt folgende Liftungseigenschaft: Seminar Summen von Quadraten und K-Theorie Projektive Moduln Im Folgenden sei R ein assoziativer Ring mit Eins, nicht notwendigerweise kommutativ. R-Modul ist im Folgenden stets ein Rechts-R-Modul. Ein

Mehr