Prof. Dr. Stephan Kleuker Fachhochschule Osnabrück Fakultät Ing.-Wissenschaften und Informatik - Software-Entwicklung - Formale Modelle der Software-Entwicklung Sommersemester 2017 1. Aufgabenblatt Die folgenden Teilaufgaben dienen zur Wiederholung einigen Stoffes, den Sie im Laufe Ihres vorherigen Studiums kennen gelernt haben sollten und deren Kenntnisse implizit in dieser Veranstaltung eine Rolle spielen, die Aufgaben sind optional, bearbeiten Sie die Aufgaben, die Sie als Herausforderung sehen, z. B. II und IV. I. Aussagenlogik In der Aussagenlogik beschäftigt man sich mit den Booleschen Wahrheitswerten „wahr“ und „falsch“ und den Verknüpfungen „und“ (), „oder“ () sowie „nicht“ (). a) Geben Sie die Wahrheitstabelle für die logische Implikation, hier geschrieben in der Form a b, an. b) Geben Sie für folgende aussagenlogischen Formeln Wahrheitstafeln an. i) a (b c) ii) (a b) ((a) c) iii) (a b) (a c) (b c) c) Es gibt verschiedene Rechenregeln, mit denen man aussagenlogische Formeln umformen kann. Geben Sie einige dieser Regeln, u. a. die DeMorgan-Regeln an. d) Vereinfachen Sie die folgenden aussagenlogischen Formeln mit den Regeln aus e) soweit wie möglich. i) (a b) (a) ii) (a b) ((a) b) iii) (a b) (b (a)) (a (b)) e) Im Bereich der Datenbanken wird häufig eine dreiwertige Logik verwendet. Wie sehen die zugehörigen Wahrheitstabellen von „und“, „oder“ sowie „nicht“ aus? Wozu wird diese Logik verwendet? II. Prädikatenlogik Informell erweitert die Prädikatenlogik die Aussagenlogik um die Quantoren „für alle“ () und „es gibt“ (). So bedeutet eine Formel xZ yZ: x-y=0, dass für alle x (hier aus den ganzen Zahlen Z) ein y existiert (das damit von x abhängt), so dass x-y=0 ist. Diese prädikatenlogische Formel ist wahr, da man ein solches y für jedes gegebene x angeben kann. Die Formel wäre nicht wahr, wenn man ein x finden würde, zu dem es kein y gibt, so dass x-y=0 gilt. f) Geben Sie für folgende prädikatenlogische Formeln an, ob sie wahr sind, begründen Sie informell Ihre Antwort. i) xZ: ((x>3) (x>4)) ii) xZ: ((x>3) (x4)) iii) xZ yZ: x*y=0 iv) yZ xZ: x*y=0 v) yZ xZ: x-y=0 vi) yZ xZ: x-y>0 vii) xZ yZ: x-y>0 III. Endliche Automaten Endliche Automaten akzeptieren (reguläre) Sprachen. Seite 1 von 2 Formale Modelle der Software-Entwicklung Prof. Dr. Stephan Kleuker Fachhochschule Osnabrück Fakultät Ing.-Wissenschaften und Informatik - Software-Entwicklung - Sommersemester 2017 1. Aufgabenblatt g) Geben Sie deterministische endliche Automaten über dem Alphabet {a,b,c} an, die folgende Sprachen akzeptieren. Geben Sie dazu weiterhin einen regulären Ausdruck für die Sprache an. i) L1= { w | w enthält jeweils mindestens ein a, ein b und ein c} ii) L2= { w | w enthält eine gerade Anzahl an a und eine ungerade Anzahl an b} iii) L3= { w | w enthält nicht das Teilwort a.b.a} a,b b s1 a a,b b s2 a,b s3 a s4 b s5 a,b a,b h) Gegeben sei der vorherige nichtdeterministische endliche Automat mit Startzustand s1. Beschreiben Sie informell seine Funktionsweise, geben Sie einen sprachäquivalenten deterministischen Automaten und die akzeptierte Sprache als regulären Ausdruck an. IV. Lineare Algebra Ein Teil der linearen Algebra beschäftigt sich mit der Lösung homogener linearer Gleichungssysteme. Dabei können diese Gleichungssysteme mit einer m n-Matrix mit m Zeilen und n Spalten beschrieben werden. Gesucht ist dann ein Lösungsvektor x mit n Elementen, so dass A*x= 0 gilt, wobei „0“ für einen Null-Vektor mit n Nullen steht. i) Geben Sie die Lösungsräume für folgende lineare Gleichungssysteme A*x=0 an. i) ii) A= -1 -1 0 -1 1 -1 0 -1 0 -1 1 0 0 1 -1 0 iii) A= 1 0 0 -1 -1 1 0 1 0 -1 -1 0 -1 -1 1 1 A= 1 -1 0 -1 0 1 -1 -1 0 0 -1 1 -1 1 0 1 Seite 2 von 2