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