wiederholung

13
22.03.22 1 Wiederholung Gerichtete Graphen Digraph D=(V,E) DAG: kreisfreier Digraph topologische Sortierung Transitive Hülle Algorithmus von Warshall: O(n 3 ) Dynamische Programmierung Wurzelbäume Suchbäume

Upload: dante-martinez

Post on 31-Dec-2015

19 views

Category:

Documents


0 download

DESCRIPTION

Wiederholung. Gerichtete Graphen Digraph D=(V,E) DAG: kreisfreier Digraph topologische Sortierung Transitive Hülle Algorithmus von Warshall: O (n 3 ) Dynamische Programmierung Wurzelbäume Suchbäume. TexPoint fonts used in EMF. - PowerPoint PPT Presentation

TRANSCRIPT

19.04.23 1

Wiederholung

Gerichtete Graphen Digraph D=(V,E) DAG: kreisfreier Digraph

topologische Sortierung Transitive Hülle

Algorithmus von Warshall: O(n3) Dynamische Programmierung

Wurzelbäume Suchbäume

19.04.23 2

Primzahlen

a | b , 9 k 2 Z: ak=b a - b , @ k 2 Z: ak=b ggT(a,b) := maxk2N{k | a und k | b}

1 · ggT(a,b) · min{a,b}

kgV(a,b) := mink2N{a | k und b | k} a>1 prim , {k2N | k|a} = {1,a}

19.04.23 3

Modulare Arithmetik

Division mit Rest a= ba/mc*m + r, mit 0 · r < m

Gleicher Rest von a/m und b/m: a ´ b mod m , m | a-b , m*k=(a-b),

d.h. a = a§m = a§2m = a§3m = … mod m Vereinfachte Notation: a = b mod m (Z, ´) Äquivalenzrelation:

reflexiv: a=a mod m symmetrisch: a=b mod m , b=a mod M transitiv: a=b mod m und b=c mod m ) a=c

mod m m Äquivalenzklassen mit Repräsentanten Zm={0,1,…,m-1}

19.04.23 4

Anwendungen von modularer ArithmetikPseudozufallszahlen-Generator:

Linearer Kongruenz-Generator Beginne mit zufälligem Startwert (Seed) x0 2 Zm.

Berechne iterativ für festes a,b2Zm: xi = a*xi-1 + b mod m für i=1,2,3,…

x1,x2,x3,… definieren Pseudozufallsfolge. Für einige Anwendungen kein guter Generator.

19.04.23 5

Teilbarkeit durch 3

Satz: Sei n eine natürliche Zahl.

3|n , 3|Quersumme(n)

Verwende Dezimaldarstellung. Reduziere mod 3:

n=i ni*10i = sumi ni*1i = sumi ni mod 3

) n=0 mod 3 , i ni = 0 mod 3

19.04.23 6

Teilbarkeit von LinearkombinationenLemma Linearkomb.: Für alle a,b,d 2 N gilt:

d | a und d | b ) d | (xa+yb) für alle x,y 2 Z

Aus der Voraussetzung: dka=a, dkb=b

) (xa+yb) = (xdka+ydkb) = d(xka+ykb)

) d | (xa+yb)

19.04.23 7

ggT als Linearkombination

Satz von Bezout: Seien a,b 2 Z. Es gilt:ggT(a,b) = min{ax+by 2 N | x,y 2 Z}.

Sei S={ax‘+by‘ | x‘,y‘ 2 Z}. Sei s=ax+by 2 S minimal.

„ggT(a,b) · s“: Lemma auf letzter Folie: ggT(a,b) | s ) ggT(a,b) · s„ggT(a,b) ¸ s“: Sei q=ba/sc. a mod s = a-qs = a-q(ax+by) = a(1-qx) + b(-qy).

) a mod s 2 S und a mod s < s) a mod s = 0.) s | a und analog kann s | b gezeigt werden) ggT(a,b) ¸ s

ggT-Korollar: Sei a, b 2 Z. Dann gilt: d | a und d | b ) d | ggT(a,b).

19.04.23 8

Teilerfremde Zahlen

Def: a,b teilerfremd , ggT(a,b)=1

Satz zur Teilerfremdheit: Für alle a, b, p 2 Z gilt:ggT(a,p)=1 und ggT(b,p)=1 ) ggT(ab,p)=1

Es gibt x,y,x‘,y‘ mitxa + yp = 1 und x‘b + y‘p = 1.) xax‘b + xay‘p + ypx‘b + yy‘pp = (xx‘)ab + (xay‘ + yx‘b + yy‘p)p = 1) ggT(ab, p) = 1

19.04.23 9

Anwendung ISBN-Kode

ISBN-Nummer: Länderkode-Verlagsnummer-laufendeNr-Prüfziffer Prüfziffer = i i-te Ziffer * i mod 11 Steger: „Diskrete Strukturen“, ISBN 3-540-67597-3 1*3+2*5+3*4+4*0+…+9*7 = 3 mod 11

Satz: Der ISBN-Kode erkennt einen Fehler.

Seien z1,…,z9 die Ziffern. Sei 0 < ej < 10 ein Fehler in der j-ten Ziffer, d.h. zj

‘ = zj + ej z.z.: i i*zi (i i*zi) +j*ej mod 11.

, j*ej 0 mod 11. Satz zur Teilerfremdheit:

ggT(j,11) = 1 und ggT(ej,11)=1 ) ggT(j*ej,11) = 1 ) j*ej 0 mod 11

19.04.23 10

Teilersatz

Teilersatz: Für alle a,b 2 Z und primes p gilt:p | ab ) p | a oder p | b

Ann.: p - a und p - a.) ggT(p,a)=1 und ggT(p,b)=1

Anwendung Satz zur Teilerfremdheit) ggT(p,ab) = 1

(Widerspruch: p | ab ) ggT(p,ab)=p)

19.04.23 11

Fundamentalsatz der ArithmetikSatz: Jedes n 2 N, n>1, lässt sich eindeutig als Produkt von

Primzahlen darstellen:

n=p1e1 * p2

e2 * …* pkek, pi prim.

Existenz: Induktion über n, s. erste Vorlesung Eindeutigkeit:

Sei n=p1*p2*…*pk=q1*q2*…*qr

Ann: Es gibt pi qj für j=1,…,k. Wiederholte Anwendung des Teilersatzes:

pi | rj=1 qj ) pi teilt ein qj.

) pi = qj (Widerspruch) Teile durch pi=qj auf beiden Seiten und iteriere.

19.04.23 12

ggT-Satz

Satz (ggT): Für a¸0 und b>0 gilt:ggT(a,b) = ggT(b, a mod b)

„ggT(a,b) | ggT(b,a mod b)“: d=ggT(a,b), d.h. d | a und d | b

a mod b = a – qb mit q=b a/b c) d | a mod b (Lemma Linearkomb.)) d | ggT(b, a mod b) (ggT-Korollar)

„ggT(b, a mod b) | ggT(a,b)“: d=ggT(b, a mod b), d.h. d | b und d | a mod b

a = qb + (a mod b)) d | a (Lemma Linearkomb.)) d | ggT(a,b) (ggT-Korollar)

19.04.23 13

Euklidischer Algorithmus (300 v. Chr.)

Algorithmus EuklidEingabe: a,b 2 N1. if (b=0) then return a;2. else return Euklid(b, a mod b)Ausgabe: ggT(a,b)

Korrektheit: Schritt 1.: ggT(a,0) = a. Schritt 2.: Folgt aus ggT-Satz.