KIT PPT Master

Werbung
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
Herunterladen