Tutorium 8 - GBI Tut Philipp Oppermann

Werbung
Grundbegriffe der Informatik
Tutorium 8
Tutorium Nr. 32
Philipp Oppermann | 13. Februar 2014
KARLSRUHER INSTITUT FÜR TECHNOLOGIE
KIT – Universität des Landes Baden-Württemberg und
nationales Forschungszentrum in der Helmholtz-Gemeinschaft
www.kit.edu
Outline/Gliederung
1
Zum 7. Übungsblatt
2
Groß-O-Notation
3
Rechnen im O-Kalkül
4
Aufgaben
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
2/13
Zum 7. Übungsblatt — Aufgabe 7.2
„Beweisen Sie durch vollständige Induktion, dass in jedem gerichteten
Graphen die Summe der Eingangsgrade aller Knoten gleich der Summe
aller Ausgangsgrade aller Knoten ist.“
falsch: ∀n ∈ N0 :
n
P
d − (k ) =
k =1
n
P
d + (k )
k =1
denn das würde bedeuten, dass für jedem Knoten k : d − (k ) = d + (k )
richtig:
n
P
∀n ∈ N0 : für alle Graphen mit |V | = n gilt:
n
P
d − (k ) =
k =1
d + (k )
k =1
=⇒ Induktion über die Knotenzahl n
sehr mühsam, denn wenn ein Knoten hinzukommt, können 0 bis n
Kanten hinzukommen
besser: Induktion über die Kantenanzahl m:
∀m ∈ N0 : Für alle Graphen mit |E | = m gilt:
|V |
P
d − (k ) =
k =1
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
|V |
P
d + (k )
k =1
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
3/13
Zum 7. Übungsblatt — Aufgabe 7.2
∀m ∈ N0 : Für alle Graphen mit |E | = m gilt:
|V |
X
−
d (k ) =
k =1
|V |
X
d + (k )
(1)
k =1
IA: m = 0 : Jeder Knoten hat Grad 0 ⇒
|V |
P
d − (k ) = 0 =
k =1
|V |
P
d + (k )
k =1
IV: Für beliebiges aber festes m ∈ N0 gelte für alle Graphen mit
m Kanten:
|V |
P
d − (k ) =
k =1
|V |
P
d + (k )
k =1
IS: m → m + 1 zz:Für alle Graphen mit |E | = m + 1 gilt (1).
e = (x , y ) sei die neue Kante; für den Graph ohne e gilt (1) laut IV.
da genau d + (x ) und d − (y ) durch e um 1 erhöht werden, gilt (1) auch
für den Graphen mit e .
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
4/13
Groß-O-Notation
O (f ) = {g | ∃c ∈ R+ : ∃n0 ∈ N0 : ∀n ≥ n0 : g (n) ≤ cf (n)}
n5 ∈ O (n6 );
n6 ∈
/ O (n 5 );
n5 ∈ O (n5 )
0,000000000000001n3 ∈ O (99999999999999999n3 ) = O (n3 )
n3 + n2 + n ∈ O (n3 ),
da n3 + n2 + n ≤ 3n3
∀x : nx ∈ O (2n )
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
5/13
Groß-O-Notation
Ω(f ) = {g | ∃c ∈ R+ : ∃n0 ∈ N0 : ∀n ≥ n0 : g (n) ≥ cf (n)}
n6 ∈ Ω(n5 );
n5 ∈
/ Ω(n6 );
n5 ∈ Ω(n5 )
33n6 − 100n4 ∈ Ω(999n6 + 100n5 ) = Ω(n6 )
n ∈ Ω(log n)
log n ∈ Ω(1)
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
6/13
Groß-O-Notation
Θ(f ) = {g | ∃c1 , c2 ∈ R+ : ∃n0 ∈ N0 : ∀n ≥ n0 : c1 f (n) ≤ g (n) ≤ c2 f (n)}
n6 ∈
/ Θ(n5 );
n5 ∈
/ Θ(n6 );
n5 ∈ Θ(n5 )
33n6 − 100n4 ∈ Θ(999n6 + 100n5 )
da 2log2 n = n = 8log8 n = (23 )log8 n = 23 log8 n
log2 n ∈ Θ(log8 ),
log345 n ∈ Θ(log n)
Θ(f ) = O (f ) ∩ Ω(f )
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
7/13
Groß-O-Notation
man schreibt auch:
gf
falls g ∈ O (f )
gf
falls g ∈ Ω(f )
gf
falls g ∈ Θ(f )
ist Äquivalenzrelation (reflexiv, symmetrisch und transitiv)
und sind nicht symmetrisch
g f ⇐⇒ f g
es gibt nicht vergleichbare Funktionen!
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
8/13
Rechnen im O-Kalkül
Komplexoperationen
M1 , M2 seien Mengen, dann gilt:
M1 + M2 = {g1 + g2 | g1 ∈ M1 ∧ g2 ∈ M2 }
M1 · M2 = {g1 · g2 | g1 ∈ M1 ∧ g2 ∈ M2 }
bei einelementigen Mengen oder Funktionsmengen lässt man häufig
die Mengenklammern weg:
{3}· N0 + {1} = 3N0 + 1 und c
n3 + O (n) = n3 + O (n)
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
9/13
Rechnen im O-Kalkül
f , g , h , i : N0 → R+
0 , dann gilt:
O (f ) + O (g ) = O (f + g )
gf
∧
g ∈ O (f )
gh
=⇒
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
∧
f i
O (g ) ⊆ O (f )
Groß-O-Notation
=⇒
∧
hi
O (g + f ) = O (f )
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
10/13
Aufgabe
Geben Sie für die folgenden Aussagen an, ob sie wahr oder falsch sind.
∃k ∈ N0 : n ∈ O ((log2 n)k )
log2 (x 4 ) ∈ O (log2 x )
log2 (x 4 ) ∈ Ω(log2 x )
(∀n ∈ N+ : f (n) < g (n)) =⇒ f (n) ∈
/ O (g (n))
f ∈ O (g ) ∧ u ∈ O (v ) =⇒
√
√
n ∈ Ω(2
log2 n
f
u
∈ O ( gv )
)
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
11/13
Lösungen
Geben Sie für die folgenden Aussagen an, ob sie wahr oder falsch sind.
∃k ∈ N0 : n ∈ O ((log2 n)k )
falsch, auch (log n)1000 ∈ O (n)
log2 (x 4 ) ∈ O (log2 x )
richtig, log(x 4 ) = 4 log x ∈ Θ(log x ) =⇒ 4 log x ∈ O (log x )
log2 (x 4 ) ∈ Ω(log2 x )
richtig, auch wieder Logarithmusregeln
...
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
12/13
Lösungen
Geben Sie für die folgenden Aussagen an, ob sie wahr oder falsch sind.
...
(∀n ∈ N+ : f (n) < g (n)) =⇒ f (n) ∈
/ O (g (n))
falsch, für n0 = 0 ist laut Definition f ∈ O (g )
f ∈ O (g ) ∧ u ∈ O (v ) =⇒ uf ∈ O ( gv )
falsch, z.B. für f (n) = n, u (n) = 1, g (n) = v (n) = n
=⇒ uf = n1 = n ∈ O ( gv = nn ) = O (1) E
√
√
n ∈ Ω(2
log2 n
)
√
√
log2 n
richtig,
√ da n = 12 1 und p
log2 n = log2 n 2 = 2 log2 n ≥ log2 n für alle n ≥ 16
Zum 7. Übungsblatt
Philipp Oppermann – GBI Tutorium Nr. 32
Groß-O-Notation
Rechnen im O-Kalkül
13. Februar 2014
Aufgaben
13/13
Herunterladen