Was bisher geschah I Klassische Aussagenlogik: I I I I I I Modellierung in Aussagenlogik: Schaltungslogik, kombinatorische Suchprobleme, Wissensrepräsentation . . . Syntax Semantik semantische Äquivalenz und Folgern syntaktisches Ableiten (Resolution) beschränkte Ausdrucksfähigkeit 111 Modellierung in Prädikatenlogik Grundannahme: Die zu modellierende Welt besteht aus Individuen, die Eigenschaften haben und zueinander in Beziehungen (Relationen, Funktionen) stehen. Prädikatenlogik zur Formalisierung von Aussagen über Eigenschaften oder Beziehungen von Individuen aus algebraischen Strukturen 112 Prädikatenlogische Aussagen – Beispiele I A ist genau dann Nachfahre von B, wenn B A’s Vater oder A’s Mutter ist oder ein Elternteil von A Nachfahre von B ist. Nachfahren derselben Person sind verwandt. Personen sind Geschwister, wenn sie dieselbe Mutter oder denselben Vater haben. Individuenbereich: Menge von Personen Beziehungen: Nachfahre, verwandt, Geschwister Funktionen: Mutter, Vater I Primzahlen sind genau diejenigen natürlichen Zahlen, die genau zwei verschiedene Teiler haben. Gerade Zahlen sind genau diejenigen natürlichen Zahlen, die durch zwei teilbar sind. Es existiert eine gerade Primzahl. Nachfolger ungerader Primzahlen sind nicht prim. Das Quadrat jeder geraden Zahl ist gerade. Individuenbereich: Menge aller natürlichen Zahlen Eigenschaft: prim, gerade Beziehung: teilbar Funktion: Nachfolger N 113 Algebraische Strukturen – Beispiele Menge mit Beziehungen (Relationen) zwischen und Funktionen auf den Elementen Beispiele: I Menge aller Menschen Relationen: älter-als (zweistellig), einstellige Relationen (Eigenschaften): blond Funktion (einstellig): Mutter I Menge aller natürlichen Zahlen Relationen: ≥ (zweistellig), | (teilt, zweistellig) einstellige Relationen (Eigenschaften): prim, gerade Funktion: Nachfolger (einstellig), + (zweistellig) I Menge 2 aller Punkte der Ebene Relationen: kleinerer-Abstand-von-0 (zweistellig), bilden-gleichseitiges-Dreieck (dreistellig) Funktionen: verschieben (einstellig), Mittelpunkt (zweistellig) I Menge A∗ aller endlichen Wörter (Vektoren) über A Relation: Präfix (Anfangswort, zweistellig)) Funktionen: Spiegelung (einstellig), Verkettung (zweistellig) N R 114 Algebraische Strukturen – mehr Beispiele Algebraische Strukturen kennen wir schon, z.B. aus Mathematik: N I Halbordnung, z.B. (Z, ≤),(N, |), (2X , ⊆) Z I Äquivalenzrelation, z.B. ( , =), (AL(P), ≡), ( , ≡n ) I Vektorraum Informationssicherheit: N I Halbgruppen, z.B. (2 , ·), I Monoide, z.B. ( , ·, 1), (2X , ∪, ∅), N I Gruppen, z.B. (Z, +, 0), (Zn , +, 0), (Zn , ·, 1) für Primzahl n I Ringe, z.B. (Z, +, ·, 0, 1), (Zn , +, ·, 0, 1) für Primzahl n I Körper, z.B. (Q, +, ·, 0, 1), (Zn , +, ·, 0, 1) für Primzahl n Kombinationen z.B. Gruppe mit Halbordnung ( , +, 0, ≤) Z 115 Wichtige Klasse von Strukturen: Graphen (aus der Mathematik-Vorlesung) Graph G = (V , E) mit I Menge V von Knoten (Ecken, engl. vertex) I zweistellige Relation E ⊆ V 2 , Elemente (u, v ) ∈ E heißen Kanten (engl. edge) gerichteter Graph Repräsentation einer zweistelligen Relation E auf der Menge V ungerichteter Graph Repräsentation einer zweistelligen irreflexiven symmetrischen Relation E auf der Menge V Kanten sind Zweiermengen {u, v } ⊆ V 116 Prominente Klassen ungerichteter Graphen Pfade Pn = ({1, . . . , n}, {{i, i + 1} | i ∈ {1, . . . , n − 1}}) Kreise Cn = ({1, . . . , n}, {{i, i + 1} | i ∈ {1, . . . , n − 1}} ∪ {{n, 1}}) vollständige Graphen Kn = ({1, . . . , n}, {{i, j} | i, j ∈ {1, . . . , n}, i 6= j}) isolierte Graphen In = ({1, . . . , n}, ∅) (ohne Kanten) 117 Gefärbte Graphen gegeben: Graph G = (V , E), Menge CV von Eckenfarben Menge CE von Kantenfarben Eckenfärbung f : V → CV Kantenfärbung f : E → CE später im Studium: Färbungen mit bestimmten Eigenschaften, z.B. Eckenfärbung f : V → CV des ungerichteten Graphen G = (V , E), so dass für keine Kante {u, v } ∈ E gilt f (u) = f (v ) Beispiele (Tafel): P5 , C4 , C5 , K4 , K5 I P5 , C4 mit Eckenfarben {r , b} I C5 mit Eckenfarben {r , g, b} I K4 , K5 118 Mehrsortige Strukturen Modellierung von Strukturen mit verschiedenen Sorten (Mengen) = {Si | i ∈ I} von Elementen S Beispiele: I Mengen: Menschen, Bücher Relation: A ⊆ Menschen × Bücher wobei (m, b) ∈ A gdw. m ist Autor von b I Mengen: Menschen, , Orte Relation: B ⊆ Menschen × × Orte wobei (m, j, o) ∈ B gdw. m wurde im Jahr j in o geboren I Vektorraum: Sorte Skalar, Sorte Vektor mit Operationen, z.B.: smult: Skalar × Vektor → Vektor mit Relationen, z.B.: gleichlang ⊆ Vektor × Vektor N N 119 Mehrsortige Strukturen in der Informatik Programmierung: Datentypen int, float, bool, string mit Operationen, z.B.: floor duplicate length > : float : string × int : string : float × float → int → string → int → bool Datenbanken: Tabellen sind extensionale Darstellungen mehrsortiger Relationen 120 Algebraische Strukturen desselben Types A Menge {0, 1} mit I Konstanten 0, 1 I Funktionen min, max (zweistellig) I Eigenschaft gerade I Relation ≤ (zweistellig) B Menge aller Studenten im Raum mit I Konstanten Anton, Berta I Funktionen Älterer, kleinere-Studentennummer(zweistellig) I Eigenschaft blond I Relation befreundet (zweistellig) C Menge 2N mit I Konstanten ∅, I Funktionen ∩, ∪ (zweistellig) I Eigenschaft endlich I Relation ⊆ (zweistellig) N 121 Signaturen Gemeinsamkeiten der Strukturen A, B, C: I I I I zwei Konstanten (nullstellige Funktionen) zwei zweistellige Funktionen eine Eigenschaft (einstellige Relation) eine zweistellige Relation Bezeichnung der Relationen und Funktionen durch Symbole (mit zugeordneter Stelligkeit): Signatur Σ = (ΣF , ΣR ) mit Mengen ΣF = {(f , n) | n ∈ } von Funktionssymbolen (mit Stelligkeit) ΣR = {(R, n) | n ∈ } von Relationssymbolen (mit Stelligkeit) (nullstellige Funktionssymbole heißen Konstantensymbole) Signatur definiert einen Typ von Strukturen Strukturen mit derselben Signatur können sich unterscheiden in N N I I Trägermenge Bedeutung der Funktions- und Relationssymbole 122 Beispiele für Signaturen I Signatur für arithmetische Ausdrücke über natürlichen, rationalen, reellen, . . . Zahlen ΣF = {(+, 2), (−, 2), (·, 2), (/, 2)}∪ je ein nullstelliges Symbol für jede Zahl aus der Trägermenge ΣR = ∅ I Signatur für Mengen mit einer zweistelligen Relation (Äquivalenzrelation, Halbordnung, Graph) ΣF = ∅, ΣR = {(R, 2)} I Signatur für aussagenlogische Formeln ΣF = {(∨, 2), (∧, 2), (¬, 1), (f, 0), (t, 0)}, ΣR = {(=, 2), (≡, 2), (|=, 2), (erf, 1)} I Signatur für alle drei Strukturen A, B, C ΣF = {(apfel, 0), (banane, 0), (kirsche, 2), (pflaume, 2)} ΣR = {(gurke, 1), (tomate, 2)} 123