Tutorium 23 Grundbegriffe der Informatik (5. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT – The cooperation of Forschungszentrum Karlsruhe GmbH and Universität Karlsruhe (TH) Agenda - 5. Sitzung Anmerkungen zu den Übungsblättern Kontextfreie Grammatiken (2. Teil) Relationen (2. Teil) Zahlendarstellungen 2 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Aufgabe 4.3 (Finden der Invariante) Relevante Parameter ermitteln Anzahl der schwarzen und weißen Kugeln im Behälter Prozess auf diese Parameter hin analysieren Sei π π ∈ β die Anzahl der schwarzen Kugeln nach π-tem Schritt Sei π€π ∈ β die Anzahl der weißen Kugeln nach π-tem Schritt Fallunterscheidung Unterschiedliche Farben gezogen Eine weiße Kugel zurück ⇒ π π+1 = π π − 1, π€π+1 = π€π Zwei weiße Kugeln gezogen Eine schwarze Kugel zurück ⇒ π π+1 = π π + 1, π€π+1 = π€π − 2 Zwei schwarze Kugeln gezogen Eine schwarze Kugel zurück ⇒ π π+1 = π π − 1, π€π+1 = π€π 3 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Scharf hinsehen ⇒ ∀π, π ∈ πΎπ+π : π€π mod 2 = π€π mod 2 Abschreiben Sehr gute Idee: Lerngruppen Halbwegs schlechte Idee: Abschreiben Geht nicht in der Klausur Sehr schlechte Idee: gedankenlos Abschreiben Beispiel: 1−π΄+π΄βπ΅ Wird zu 1 − π΄ + π΄. π΅ Wird zu β − π΄ + π΄. π΅ 4 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Agenda - 5. Sitzung Anmerkungen zu den Übungsblättern Kontextfreie Grammatiken (2. Teil) Relationen (2. Teil) Zahlendarstellungen 5 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Kontextfreie Grammatiken (Definition) Eine kontextfreie Grammatik ist ein 4-Tupel πΊ = (π, π, π, π) mit π ist ein Alphabet sogenannter Nichtterminalsymbole Meist Großbuchstaben π ist ein Alphabet sogenannter Terminalsymbole Meist Kleinbuchstaben π∩π =∅ π ∈ π ist das sogenannte Startsymbol π ⊆ π × (π ∪ π)∗ ist eine Menge von Produktionen Schreibweise: π → π€ statt (X, w) ∈ π Bedeutung: Man kann π durch π€ ersetzen 6 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Kontextfreie Grammatiken (Ableitungsfolgen) Sei πΊ = (*π+, *π, π+, π, *π → ε|πππ|πππ|π|π+) ⇒ πΏ πΊ = *π€ ∈ π, π ∗ |π€ ππ π‘ πππππππππ+ Aufgabe: Zeige w = πππππ ist Palindrom (π€ ∈ πΏ(πΊ)) Möglichkeit 1: Ableitungsfolge Zeige π ⇒∗ π€ π ⇒ πππ ⇒ πππππ ⇒ πππππ = π€ Eine Kontextfreie Grammatik ist πΊ = (π, π, π, π) mit • π ist Alphabet der Nichtterminalsymbole • π ist Alphabet der Terminalsymbole • π ∈ π ist das sogenannte Startsymbol • π ⊆ π × (π ∪ π)∗ sind Produktionen 7 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Kontextfreie Grammatiken (Ableitungsbäume) Sei πΊ = (*π+, *π, π+, π, *π → ε|πππ|πππ|π|π+) ⇒ πΏ πΊ = *π€ ∈ π, π ∗ |π€ ππ π‘ πππππππππ+ Aufgabe: Zeige w = πππππ ist Palindrom (π€ ∈ πΏ(πΊ)) Möglichkeit 2: Ableitungsbaum X a X a X a a b w= 8 25.11.2010 a a Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik b a a Kontextfreie Grammatiken (Die leere Sprache) Gibt es eine Grammatik πΊ = (π, π, π, π) mit L G = *+ ? πΊ= π , π, π , π, π → π ? Ja, Ableitung terminiert nicht πΊ= π , π, π , π, *+ ? Ja, leere Produktionsmenge erlaubt πΊ= π , *+, π, π ? Nein, Alphabete sind nichtleer Eine Kontextfreie Grammatik ist πΊ = (π, π, π, π) mit • π ist Alphabet der Nichtterminalsymbole • π ist Alphabet der Terminalsymbole • π ∈ π ist das sogenannte Startsymbol • π ⊆ π × (π ∪ π)∗ sind Produktionen 9 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Agenda - 5. Sitzung Anmerkungen zu den Übungsblättern Kontextfreie Grammatiken (2. Teil) Relationen (2. Teil) Zahlendarstellungen 10 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Relationen (Definitionen) Produkt der Relationen R ⊆ π1 × π2 und π ⊆ π2 × π3 π β π β *(π₯, π§) ∈ π1 × π3 |∃π¦ ∈ π2 : (x, y) ∈ π π’ππ (π¦, π§) ∈ π+ Vergleiche: Verkettung von Funktionen Sei nun R ⊆ π × π eine Relation Potenzen von R π 0 β π₯, π₯ π₯ ∈ π =: πΌπ ∀π ∈ β0 : π π+1 = π π β π Reflexiv-transitive Hülle von R π ∗ β ∞ π π=0 π R ist reflexiv βΆ⇔ ∀π₯ ∈ π: (π₯, π₯) ∈ π R ist transitiv βΆ⇔ ∀π₯, π¦, π§ ∈ π: π₯, π¦ , π¦, π§ 11 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik ⊆ π ⇒ (π₯, π§) ∈ π Relationen (Visualisierung) Sei πΎ7 × πΎ7 ⊇ π = * 0,1 , 1,2 , 2,3 , 2,4 , 4,5 + πΉπ πΉπ πΉπ πΉπ πΉπ 1 πΉ 5 0 ∗ 2 3 6 12 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik 4 Relationen (Kleiner Beweis) Seien π , π Relationen mit π ⊆ π und π reflexiv und transitiv Zeige: Es gilt: π ∗ ⊆ π 13 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Agenda - 5. Sitzung Anmerkungen zu den Übungsblättern Kontextfreie Grammatiken (2. Teil) Relationen (2. Teil) Zahlendarstellungen 14 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Zahlendarstellungen (Motivation) Fünf? Hunderteins? 101 Zehn? 15 25.11.2010 Was will der Autor mir damit sagen? Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Zahlendarstellungen (Definitionen) Sei π2 = 0,1 ein Alphabet Definiere ππ’π2 : π2 → β0 , ππ’π2 0 = 0, ππ’π2 (1) = 1 Definiere ππ’π2 : π2 ∗ → β0 ππ’π2 ε β 0 ∀π€ ∈ π2 ∗ : ∀π₯ ∈ π2 : ππ’π2 π€π₯ = 2 ∗ ππ’π2 π€ + ππ’π2 π₯ Ist das wohldefiniert? 16 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Zahlendarstellungen (Beispiel) Aufgabe: Berechne ππ’π2 (101) 17 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik ππ’π2 ε β 0 ∀π€ ∈ π2 ∗ : ∀π₯ ∈ π2 : ππ’π2 π€π₯ = 2 ∗ ππ’π2 π€ + ππ’π2 π₯ Zahlendarstellungen (Wohldefiniertheit) Zeige: ππ’π2 : π2 ∗ → β0 ist wohldefiniert. 18 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik ππ’π2 ε β 0 ∀π€ ∈ π2 ∗ : ∀π₯ ∈ π2 : ππ’π2 π€π₯ = 2 ∗ ππ’π2 π€ + ππ’π2 π₯ Zahlendarstellungen (Umwandlung) w=101 π π π 0 ε 0 1 2 3 Invariante? π₯ = ππ’π2 (π£) 19 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Zahlendarstellungen (Etwas Abgefahrener) Sei Ζ΅3 = β₯ , 0, β₯‘ ein Alphabet Definiere Επ’π3 : Ζ΅3 → β€ Επ’π3 0 = 0, Επ’π3 β₯ = 1, Επ’π3 β₯‘ = −1 Definiere Επ’π3 : Ζ΅2 ∗ → β0 Επ’π3 ε β 0 ∀π€ ∈ Ζ΅3 ∗ : ∀π₯ ∈ Ζ΅3 : Επ’π3 π€π₯ = 3 ∗ Επ’π3 π€ + Επ’π3 π₯ 20 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Zahlendarstellungen (Aufgaben) Berechne Επ’π3 β₯‘ 0 β₯ Επ’π3 ε β 0 ∀π€ ∈ Ζ΅3 ∗ : ∀π₯ ∈ Ζ΅3 : Επ’π3 π€π₯ = 3 ∗ Επ’π3 π€ + Επ’π3 π₯ Berechne Επ’π3 β₯ β₯‘β₯ Woran erkennt man das Vorzeichen einer Zahl? Wie verändert sich Επ’π3 π€ für ein π€ ∈ Ζ΅3 ∗ , wenn man alle β₯ durch β₯‘ und alle β₯‘ durch β₯ in π€ ersetzt? Welche ganze Zahlen besitzen Repräsentationen? 21 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Zahlendarstellungen (Lösungsvorschläge) Berechne Επ’π3 β₯‘ 0 β₯ Επ’π3 β₯‘ 0 β₯ = −8 Berechne Επ’π3 β₯ β₯‘β₯ Επ’π3 ε β 0 ∀π€ ∈ Ζ΅3 ∗ : ∀π₯ ∈ Ζ΅3 : Επ’π3 π€π₯ = 3 ∗ Επ’π3 π€ + Επ’π3 π₯ Επ’π3 β₯ β₯‘β₯ = 7 Woran erkennt man das Vorzeichen einer Zahl? Ist das erste Zeichen „β₯ “ (positiv) oder „β₯‘ “ (negativ)? Wie verändert sich Επ’π3 π€ für ein π€ ∈ Ζ΅3 ∗ , wenn man alle β₯ durch β₯‘ und alle β₯‘ durch β₯ in π€ ersetzt? Entspricht einer Multiplikation mit −1 Welche ganze Zahlen besitzen Repräsentationen? Alle 22 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik Fragen? 23 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik http://xkcd.com/152/ 24 25.11.2010 Felix Stahlberg: www.das-tutorium.de Tutorium 23 für Grundbegriffe der Informatik