Informatik A

Werbung
Teillösungen zum 1. Aufgabenblatt zur Vorlesung
Informatik A
( Frank Hoffmann)
1. Improvisieren
Stellen Sie die Zahl 6 dar durch einen Ausdruck, der genau dreimal die Ziffer i enthält
und ansonsten neben Klammern nur die 4 Grundrechenarten, Quadratwurzeln und die
Fakultätsfunktion benutzen darf. Für i = 2 ist dies einfach, denn 6=2+2+2. Lösen Sie
diese Aufgabe für die anderen 0 ≤ i ≤ 9.
Hinweis: Diese Knobelaufgabe hat mehr mit Informatik zu tun, als man zuerst denkt.
Was kann man mit beschränkten syntaktischen Mitteln ausdrücken?
Lösung: So geht es (nicht die einzige Lösung):
√
√
√
6 = (0! + 0! + 0!)! = (1 + 1 + 1)! = 2 + 2 + 2 = 3 · 3 − 3 = 4 + 4 + 4 = 5 + 5/5 =
q
√
√
√
8+8= 9·9− 9
= 6 + 6 − 6 = 7 − 7/7 = 8 −
2. Darstellung ganzer Zahlen
Unter der k–nären Darstellung (k ≥ 2) einer nichtnegativen ganzen Zahl z versteht man
den String cn cn−1 . . . c1 c0 , wobei alle ci ∈ {0, . . . , k − 1}, cn 6= 0 und
z = Σni=0 ci k i
Bei Hexadezimalzahlen (k = 16) benutzt man als zu Grunde liegendes Alphabet
{0, 1, . . . , 9, A, B, . . . , F }, wobei die Buchstaben die Dezimalzahlen von 10 bis 15 codieren.
(a) Schreiben Sie die folgenden Zahlen sowohl binär, dezimal und hexadezimal.
die Binärzahlen: 1001011, 11110000, 1010101
Lösung:
hexa: 4B, F0 , 55
dezimal: 75, 240, 85
die Dezimalzahlen: 1026, 53789,
Lösung:
binär: 100 0000 0010, 1101 0010 0001 1101
hexa: 40B2 , D21D
die Hexadezimalzahlen: 1000, FFF, 3A28E
Lösung:
binär: 1 0000 0000 0000, 1111 1111 1111, 11 1010 0010 0100 1110
dezimal: 983040, 4095, 2388222
Man beachte insbesondere, dass die Viererblöcke in der Binärdarstellung den
Ziffern in der Hexadezimaldarstellung entsprechen.
(b) Wie lang ist die k–näre Darstellung einer ganzen positiven Zahl und wie verhält
sich diese Größe zur Länge der l–nären Darstellung?
Lösung:
Welche natürlichen Zahlen n lassen sich mit Darstellungsgröße m + 1 zur Basis k
darstellen? Es muss gelten:
1 · k m + 0 · k m−1 + . . . + 0 ≤ n ≤ (k − 1) · k m + (k − 1) · k m−1 + . . . + (k − 1)k + (k − 1)
Durch Vereinfachen+Logarithmieren ergibt sich:
m ≤ logk n ≤ logk (k m+1 − 1)
Damit erhält man m ≤ blogk nc < m + 1. Also ist die Darstellungsgröße von n
gleich blogk nc + 1
ln
Wegen logk n = log
logl k unterscheidet sich die Darstellungslänge bezüglich Basis
k und die Länge bezüglich l für k, l > 1 nur um einen konstanten Faktor, unabhängig(!) von n.
3. Etwas Praktisches
Vor Ihnen liegen 12 Rollen mit 1-Euro-Münzen, die Rollen sind durchnummeriert von
1 bis 12. Genau 1 der Rollen enthält Falschgeld und hat deshalb ein anderes Gewicht.
Ihre Aufgabe ist es, mittels einer Balkenwaage festzustellen, welche der Rollen Falschgeld
enthält und ob diese leichter bzw. schwerer als eine normale Rolle ist. (Dass es EuroMünzen sind ist offensichtlich unwichtig!)
(a) Sie dürfen nur jeweils eine Rolle gegen eine andere vergleichen. Beschreiben Sie ein
Verfahren, das mit möglichst wenigen Vergleichen auskommt. Wie viele sind das
im schlechtesten Fall und warum geht es nicht besser?
Antwort:
Jede Rolle muss mindestenens einmal auf der Waage liegen, also mindestens 6
Wägungen. Dabei tritt im schlechtesten Fall erst beim letzten Mal eine Ungleichheit
auf und wir kennen eine potenziell zu leichte und eine potenziell zu schwere Rolle.
Danach reicht ein Vergleich z.B. der potenziell leichteren mit einer korrekten Rolle,
um die falsche ausfindig zu machen, also 7 Wägungen insgesamt.
(b) Sie dürfen mehrere Rollen gegeneinander wiegen. Jetzt reichen 3 Vergleiche aus!
Beschreiben Sie ein solches Verfahren.
Tipp: Beginnen Sie mit vier Rollen auf jeder Seite. Der schwierige Fall tritt bei
Ungleichheit ein, Sie also noch acht Verdächtige haben.
Antwort:
Nach dem Vergleich 4 gegen 4 haben wir 2 Fälle.
Fall 1: Gleichheit
Die falsche Rolle ist unter den restlichen 4, es gibt jetzt noch 8 Antwortmöglichkeiten. Jede der 4 kann zu leicht oder zu schwer sein.
Wägen 3 potenziell Falsche gegen drei Korrekte ab:
• Gleichheit: Die 4. Falsche ist die gesuchte Rolle und mit der 3. Wägung (gegen
eine korrekte Rolle) bestimmen wir, ob sie zu leicht oder zu schwer ist.
• Ungleichheit: Wir haben 3 Verdächtige und wissen schon, ob die gesuchte Rolle
zu leicht oder zu schwer ist. Der Vergleich von 2 Verdächtigen untereinander
bestimmt das Ergebnis.
Fall 2: Ungleichheit:
Wir kennen 4 potenziell zu leichte Rollen, seien dies L1 , L2 , L3 , L4 , und seien
S1 , . . . , S4 die potenziell zu schweren. Es gibt also noch 8 Antwortmöglichkeiten.
Wir wiegen wie folgt (die Ki sind korrekt):
L1 + L2 + S1 + S2
vs.
L3 + K1 + K2 + K3
• Gleichheit: Damit sind L4 , S3 , S4 noch verdächtig. Die Wägung S3 gegen S4
entscheidet dies korrekt.
• Ungleichheit:
Falls L1 + L2 + S1 + S2 leichter: Jetzt sind nur noch L1 und L2 verdächtig und
wir vergleichen sie gegeneinander.
Falls L1 + L2 + S1 + S2 schwerer: Jetzt sind noch S1 , S2 und (!) L3 verdächtig
und ein Vergleich S1 gegen S2 klärt die Situation.
(c) Argumentieren Sie, dass es kein Verfahren gibt, das immer mit zwei Vergleichen
auskommt.
Antwort:
Wir haben 24 mögliche Antworten, jede der 12 Rollen kann zu leicht oder zu
schwer sein. Mit zwei hintereinander ausgeführten Wägungen unterscheidet man
aber höchstens 9 der Antworten, denn als Entscheidungsgrundlage hat man nur die
3 Ergebnisse der ersten Wägung kombiniert mit den 3 Ergebnissen der sich jeweils
anschließenden Wägung.
4. Logik im Alltag
A(lice), B(ob), C(arol) und D(ave) fahren mit dem Zug und haben Platzkarten für ein
Viererabteil, wobei die Plätze 1 und 2 (3 und 4) vorwärts (rückwärts) zur Fahrtrichtung
liegen und 1 und 3 Fensterplätze sind. Folgende Wünsche sind zu berücksichtigen:
1) D will nicht rückwärts fahren,
2) B und C wollen nebeneinander sitzen,
3) A wünscht einen Fensterplatz
4) B und D wollen sich nicht gegenüber sitzen.
(a) Finden Sie eine Platzverteilung die alle Wünsche berücksichtigt. Ist sie eindeutig?
(b) Formulieren Sie ein Modell, in dem sich die Bedingungen 1) bis 4) als Boolesche
Terme audrücken lassen. Gibt es eine eindeutige Belegung der Variablen, die diese
Terme wahr macht?
(c) Wenn nicht, formulieren Boolesche Terme für weitere Bedingungen, die erfüllt sein
müssen, um Eindeutigkeit zu erzwingen.
Lösungshinweis: Zunächst wählen wir sinnvolle Variablenbezeichner, etwa xi steht für
“ Person X sitzt auf Platz i.
Forderung 1 entspricht dann dem Term t1 = d1 ∨ d3 . Forderung 2 ist der Term t2 =
(b1 ∧ c2 ) ∨ (c1 ∧ b2 ) ∨ (b3 ∧ c4 ) ∨ (c3 ∧ b4 ), usw. Man sollte auch etwas formalisieren
wie “Auf jedem Platz sitzt genau eine Person” und “Jede Person sitzt genau auf einem
Platz”. Für D könnte das insgesamt etwa lauten
((d1 ∧ ¬a1 ∧ ¬b1 ∧ ¬c1 ) ∨ (d3 ∧ ¬a3 ∧ ¬b3 ∧ ¬c3 )) ∧ ¬(d1 ∧ d3 )
usw.
5. Kleene–Stern
Zeigen Sie, dass für formale Sprachen L1 , L2 über einem Alphabet Σ die folgenden
Aussagen im Allgemeinen falsch sind:
(L1 ∪ L2 )∗ = (L∗1 ∪ L∗2 ) , (L1 ◦ L2 )∗ = (L∗1 ◦ L∗2 )
(L1 ∩ L2 )∗ = (L∗1 ∩ L∗2 )
Sie müssen also jeweils konkrete Sprachen angeben und ein Wort, das zur einen Menge
aber nicht zur anderen Menge gehört.
Es gibt nur genau zwei formale Sprachen L, sodass L∗ eine endliche Menge ist. Welche
sind das?
Lösung:
(L1 ∪ L2 )∗ = (L∗1 ∪ L∗2 ) ist falsch, setze L1 = {0} und L2 = {1}. (L1 ∪ L2 )∗ enthält alle
Wörter über {0, 1}, (L∗1 ∪ L∗2 ) enthält keine Wörter, die sowohl Nullen als auch Einsen
enthalten.
(L1 ◦ L2 )∗ = (L∗1 ◦ L∗2 ) ist falsch. Sei L1 , L2 wie eben. (L1 ◦ L2 )∗ enthält Wort 0101,
(L∗1 ◦ L∗2 ) enthält dieses Wort nicht. Das Wort 001 ist in rechter Seite enthalten, aber
nicht in der linken.
(L1 ∩ L2 )∗ = (L∗1 ∩ L∗2 ) ist falsch, wähle L1 = {0} und L2 = {00}. Dann ist die linke
Seite die Menge {}, rechts steht L∗2 .
L∗ = {} für L = ∅ und L = {}. Sobald ein anderes Zeichen a in L enthalten
ist, sind alle Wörter an für n > 0 in L∗ und die Sprache ist unendlich.
6. Tautologien
Bestimmen Sie, ob die folgenden Booleschen Terme Tautologien sind.
t1 = ((p ⇒ q) ∧ (q ⇒ r)) ⇒ (p ⇒ r)
t2 = (¬q ∧ (p ⇒ q)) ⇒ ¬p
Lösung:
Solche Aufgaben kann man mit Wertetabelle lösen oder durch semantisch äquivalentes
Umformen.
Hier sind die Umformungen für t1 :
[(p ⇒ q) ∧ (q ⇒ r)] ⇒ (p ⇒ r)]
≡ ¬[(¬p ∨ q) ∧ (¬q ∨ r)] ∨ (¬p ∨ r)
≡ (p ∧ ¬q) ∨ ¬p ∨ (q ∧ ¬r) ∨ r
≡ (p ∨ ¬q) ∨ (q ∨ r)
≡ p ∨ r ∨ True ≡ True
Auflösung der Implikationen
de Morgan’sche Regel+Assoz.+Kommut.
Distributivität
Assoziativität und Komplementärregel
Hier ist die Wertetabelle für t2 :
p
0
0
1
1
q ¬q p ⇒ q ¬q ∧ (p ⇒ q) ¬p t2
0 1
1
1
1 1
1 0
0
0
1 1
0 1
0
0
0 1
1 0
1
0
0 1
7. Antivalenz und NOR–Operator
Der NOR–Operator (man sagt auch Pierce–Symbol) p ↓ q zweier Wahrheitswerte p, q ist
genau dann 1, wenn gleichzeitig p = 0 und q = 0 gilt. Das entspricht also der negierten
Disjunktion. Untersuchen Sie, ob jeweils das Kommutativ- und das Assoziativgesetz
für die Antivalenz bzw. den NOR–Operator gelten!
Lösung:
Auch hier kann man Wertetabelle bilden oder semantisch äquivalent umformen.
Die Kommutativität für ↓ folgt aus der Kommutativität von ∨:
x ↓ y ≡ ¬(x ∨ y) ≡ ¬(y ∨ x) = y ↓ x
Für die Assoziativität:
x y z x ↓ y (x ↓ y) ↓ z y ↓ z x ↓ (y ↓ z)
0 0 0
1
0
1
0
0 0 1
1
0
0
1
An dieser Stelle kann man das Ausfüllen abbrechen, denn Assoziativität ist verletzt.
Die Antivalenz ist assoziativ und kommutativ. Was auch klar sein sollte, denn sie entspricht der Addition mod 2.
Herunterladen