DISKRETE MATHEMATIK KOMBINATORIK Mit Repetition Zusammenfassung zur Vorlesung von Prof. Dr. A. Steger * Variation=geordnet ( ) ( ) Kombination=ungeord. * + * + Permutation * + Lukas Cavigelli, Dezember 2010 [email protected] BEWEISVERFAHREN + Ohne Repetition * + . / . / Anwendungen: Klammerausdrücke, Triangulierungen in -Eck, Binärbäume Ausdruck: Für die Anzahl der korrekten Klammerausdrücke mit Klammerpaaren, gilt: ∑ . / Überlegungsweise: anhand von (∑ ) ∏ ( ) Klammerpaaren Direkte Berechnung: INDUKTION . PEANO-AXIOME 1. 2. 3. 4. 5. ) ( ) / √ ∑ ⏟ Fakultätsfunktion: ⁄ √ Stirling-Formel: Addieren, subtrahieren und multiplizieren von Möglichkeiten. Prinzip der Inklusion-Exklusion (evtl. Mengen zeichen): . . / / ( . /) Binomialkoeffizienten: . / ( (Induktionsaxiom) BINOMIALKOEFFIZIENT . / . / UNTERE KOMPLEXITÄTSS CHRANKE IMPLIKATION A w w f f B w f w f w f w w . / Kontrapunktion: ( ) ( Disjunktion: ( ) ( Konjunktion: ( ) ( ) ) Jeder vergleichsbasierte Sortieralgorithmus benötigt zum Sortieren einer Folge von Zahlen im schlimmsten Fall mehr ( ) als Vergleiche. Nicht vergleichsbasierter Sortieralgorithmus: Bucketsort Zahlen in Kübel einsortieren und am Ende Kübel sortiert leeren. . / Rechenregeln: . / ) . / ) . / . / . / . / . / . / . / . / GRAPHENTHEORIE . / SCHREIBWEISEN DIESER VORLESUNG Mengen: : natürliche Zahlen ohne : natürliche Zahlen mit : ganze Zahlen : rationale Zahlen : reelle Zahlen + mit : * , -: * + mit Zahlen: ⌊ ⌋: grösste Zahl ⌊ kleiner gleich , ⌊ ⌋ ⌈ ⌉: kleinste Zahl ⌈ grösser gleich , ⌈ ⌉ Mengenoperationen: * : Differenz von und ) ( : symmetrische Differenz ( *( ) : kartesisches Produkt : Vereinigung von disjunkten Mengen ( ) : Potenzmenge von * + ( ∏ . / . / ∑. / ( ) : endliche, nicht-leere Menge von Knoten (Vetrices) : Edges, Teilmenge der zweielementigen Teilmengen von Vandermonde’sche Identität: . / ∑. /. / also Veranschaulichung/Pascal’sches Dreieck: ( ) ∑. / Andere Operatoren: ( )( ) ⌋ ⌉ ZAHLENPARTITIONEN + ) + blabla Diphantische Gleichungen: ) ) ∏ {* + } SPEZIELLE GRAPHENKLA SSEN ( ( . / ( ) ( ) Hyperwürfel : ist -regulär ( ) * + ( ) * also ( ) Vollständig bipartiter Graph ist -regulär : ist -regulär : + ( ) ) mit * + Weg in ist eine Folge ( Pfad: Weg, bei dem alle Knoten verschieden sind Zyklus: Pfad Weg mit identischem Start- und Endkonten Kreis: Zyklus, bei dem alle Knoten verschieden sind. enthält: - keinen ( ) - keinen - keinen Herleitung für enthält keinen : kein mit gilt: und haben keine zwei gemeinsame Nachbarn. Kantenweise ausgehend von (der keinen enthält) einen neuen (bipartiten) Graphen : Knotenmenge von Knotenmenge von {allen zweielementigen Teilmengen der Knotenmenge von } Kantenmenge von = verbinde genau dann, mit * + . / wenn * +* + Graph (wie oben konstruiert) hat die Eiganschaft: (* +) Zähle Kanten in : Da bipartit, gilt: ( ) ∑ ∑* ( ) / . generiert eine Kante in ( ( ) ∑ . / ( ∑ ⏟ | ( )) ∑ ( ) |⏟ | CATALAN-ZAHLEN + WEGE, PFADE, KREISE ∑ ++ * ( ) ( ) ist die Anzahl der Knoten mit In jedem Graphen ungeradem Grad gerade. ( ) gilt: Die Anzahl der Korollar 2.6: Für jeden Graphe Knoten mit ungeradem Grad ist gerade. Durchschnittsgrad: ( ) ∑ Arithmetisches & quadratisches Mittel: ⏟∑ ( ) * Nachbarschaft: ( ) Grad: ( ) G heisst k-regulär, wenn: * + Sprechweise für : - u und v sind adjazent - u und e sind inzident ( ) gilt: Für jeden Graphen ∑ ASYMPTOTISCHE ABSCHÄ TZUNGEN ANGEHENSWEISEN )-regulär BEGRIFFE Gegenbeispiel Gegenannahme zu Widerspruch führen. Verankerung, dann Rekursion: 1. Induktionsanfang zu zeigen: < hier steht ( ) > Beweis: < hier steht der Beweis von ( ) > ( ) 2. Induktionsschritt ( ) Annahme: < hier steht ( ) > )> zu zeigen: < hier steht ( ) unter Verwendung Beweis: < hier wird ( von ( ) bewiesen > : ist ( | + . (* / +) jedes Paar von Nahcbarn von . Also: ( )) ∑ ⏟ ( ) ( ) . / . / in ( ) ∑ Es gilt immer: ∑ Für ungerichtete Graphen gilt somit: TEILGRAPHEN ( ) heisst Teilgraph, von Teilgraph: Ein Graph ( ) falls und -Bei einem Graphen ohne Mehrfachkanten: -Bei ungerichtet. G. mit mehrf.-K.: ( ) ( ) . / Induzierter Teilgraph: Teilgraph, bei dem gilt: . / ( ) . -Bei ein Graph ohne mehrf.-K.: - Bei unger. G. mit mehrf.-K.: ( ) Komponente: Zusammenhängender Teilgraph ( ) enthält mindestens Lemma: Jeder Graph viele Komponenten. ( ) enthält Korollar: Jeder zusammenhängende Graph mindestens viele Kanten Beweis: Es muss gelten Definition zusammenhängend: ist zusammenhängend, wenn gilt: es gibt einen - -Pfad in ( ) ein zusammenhängender Graph, ein Lemma: ( ) zusammenhängend Kreis in . Dann gilt: ( ) und Lemma: Sei beliebiger Knoten. Dann gilt: zusammenh. genau dann, wenn - -Pfad in ( ) ein Graph. heisst Definition: Sei zusammenhängend, wenn: und mit - ist zusammenhängend. gilt: , ( ) ein Graph. Dann gilt: ist Satz von Menger: Sei zusammenhängend genau dann, wenn existieren -intern knotendisjunkte - -Pfade in . HAMILTONKREISE & EUL ERTOU REN Hamiltonkreis: Ein Hamiltonkreis ist ein Kreis, der jeden Knoten des Graphen genau einmal enthält. #möglicher Hamiltonkreise: Eulertour: Eine Eulertour ist ein geschlossener Weg, der jede Kante des Graphen genau einmal enthält. Satz: Ein Gitter enthält genau dann einen Hamiltonkreis, wenn gerade ist. Satz: es gibt eine Eulertour jeder Knoten hat eine gerade Anzahl Kanten (=der Grad aller Knoten ist gerade). MATRIXSCHREIBWEISE ( ) { * Satz: Satz: Gerichteter Weg der Länge in einem Digraphen ( ) ( ) und ( ) Adjazenzmatrix: ( ) { ( Starker Zusammenhang: und nach nach ger. Weg von ) + Baum: Ein Baum ist zusammenhängender, kreisfreier Graph. Wald: Ein Wald ist ein Graph, in dem alle Zusammenhangskomponenten Bäume sind. Blatt: Ein Knoten in einem Baum heisst Blatt, wenn ( ) Wurzel: bla ( ) mit Lemma 2.42: Jeder Baum hat min. 2 Blätter. ( ) ein Baum und Lemma 2.44: Ist ein Blatt in , , * +- ebenfalls ein Baum. dann ist ( ) ein Baum , so gilt: Satz 2.45: Ist . ( ) ist ein Baum (hat also keinen Kreis) Satz: Ein Graph genau dann, wenn zusammenhängend ist und . ( ) enthält Satz 2.46: Jeder zusammenhängende Graph einen Spannbaum. Satz 2.47: Für Knoten gibt es genau markierte Spannbäume. Codierung für Bäume: blabla ) planar, , dann ), bipartit, dann Satz von Kuratowski: Ein Graph er weder eine Unterteilung des Teilgraphen enthält. ( ) ( ) ( Maxflow-Mincut Theorem: ( ) ⏟ ist genau dann planar,wenn noch des als GERICHTETE GRAPHEN ( DIGRAPHEN) ( ) ( ) Ein planarer Graph bei Adjazenzlitenspeicherung. benötigt ( ) Speicher Prüfercode! Kantenseiten. Jede Kante hat 2 Seiten. NP-vollständigkeit: P: effizient entscheidbare Probleme, polynomial complexity NP: (einseitig) effizient verifizierbare Probleme, non-polyn. c. Prüfer-Code: Zur eindeutigen Codierung von Bäumen Man sagt ein Knoten wird von überdeckt, falls es eine Kante gibt, die enthält. Ein Matching heisst perfektes Matching, wenn jeder Knoten durch genau eine Kante aus überdeckt wird, oder, anders ausgedrückt, wenn . ( Satz 2.51: Für einen bipartiten Graphen genau dann ein Matching der Kardinalität ( ) ( ) ( ) Defintion: ⋃ ⏟ ) gibt es , wenn: Planar: Ein Graph ist planar, wenn er eine ebene Einbettung hat, d.h. wie Knoten und Kanten in der Ebene so zeichnen können, dass sich kein zwei Kanten kreuzen. Jeden planaren Graphen kann man eben zeichnen. ) zusammenhängend Satz (euler’sche Polyederformel): ( und eben eingebettet, dann gilt: Aufpassen: Das Gebiet ausserhalb mitzählen!! Achtung: Euler’sche Polyederformel gilt nur für kugelförmige Objekte, z.B. nicht für Reifen (mit einem Loch) ( ( ⏟ ) ) ) (Unterscheidung Vorder- vs. Hintergrund, Objekterkennung) Pixel (je grösser desto mehr im Vordergrund), (...Hintergrund). Vordergrund: { } Das ist viel zu granuliert (instabil). Deshalb führen wir ein: * + und Kante je grössere, desto mehr ist und im gleichen Teil. ) Für eine Auflösung ( ) ∑ ∑ ∑ Qualitätsmass: ( Dies gilt es zu maximieren. Äquivalente Aussage: ∑( ( ( ). Der Prüfercode ist ( Ein Knoten von Grad kommt ( )-mal im Code vor. Ein Baum mit Elementen hat einen Code der Länge ) Proposition: Kapazitäten ganzzahlig, . ( ))) Zeit berechnen mit max. Fluss in ( ( . ( )) Proposition: allgemein ( Algorithmus!!! Bipartites Matching als Fluss berechnen: Zusätzlichen und -Knoten einführen. mit allen Knoten der einen Seite des bipartiten Graphen verbinden, mit den anderen. Dann: maximaler Fluss = bestes Matching. ) ( Definition Matching: Eine Kantenmenge heisst Matching in einem Graphen ( ), falls kein Knoten des Graphen zu mehr als einer Kante aus inzident ist, oder formal augedrückt, wenn: ( BILDSEGMENTIE RUNG Man kann einen bipartiten G. in ( ) Zeit auf Planarität testen. Jedes Gebiet hat ) ( MATCHINGS, HEIRATSSA TZ PLANARE GRAPHEN Satz: der Eintrag der -ten Zeile und -ten Spalte in beschreibt die Anzahl der Wegen der Länge von nach in . ( ) ( ) Digraph: Keine Mehrfachkanten (Def. in dieser Vorlesung) Grad eines Knoten: ( ) *( ) + Ausgrad: ( ) *( ) + Ingrad: ( ( BÄUME / ZUSAMMENHÄNGEND E GRAPH EN Adjazenzmatrix: ( ) . FLÜSSE IN NETZWERKEN Netzwerk: bedeutet für diese Vorlesung gerichteter Graph. ( ) ( ): gerichteter Graph Quelle, Senke, Kapazitätsfunkt. Fluss: , falls ( ) ( ) 1. . * + ∑( ) ( ) ∑( ) ( ) 2. ( ) ( ) 3. Der Wert des Flusses ist ( ) ∑( ) ( ) ∑( ) ( ) ∑( ) ( ) ∑( ) ( ) Lemma: ( ) Berechnung des maximalen Flusses: ( ) ist eine Ein ( )-schnitt in einem Netzwerk ) von mit Partition ( und . ( ) ∑( ) ( ) ( ) Kapazität: also die Summe der Kapazitäten der Pfeile, die von S nach T gehen. (die entgegengesetzten Pfeile NICHT abziehen) ) ein - -Schnitt in : ( ) ( ) Lemma: Fluss, ( ) von : Bew: Für eine Partition ( ( ) ∑( ) ( ( ). ) ) ) ∑ ∑ ∑ ∑ ∑ ∑ ) ein - -Schnitt in und * + * + ), d.h. in Betrachte die Kanten im Schnitt ( ( Kanten ( ) mit . Ihr Beitrag zu Kanten ( ) mit ... Betrag ∑ ) in ( Kanten ( . Beitrag: ∑( ) ∑ . ( ) ∑ ∑ . ) ist ∑ ) ∑ ALGEBRA MODULA RE ARITHMETIK ⟩ Definition 5.1 (Algebra, Operator): Ein Algebra ⟨ besteht aus einer nichtleeren Trägermenge und Operatoren auf . Ein Operator ist eine Abb. . Die Konstante nennt man die Stelligkeit des Operators. Zweistellige Operatoren nenn man auch Verknüpfungen. Definition 5.6 (neutrale Elemente): Sei ⟨ ⟩ eine Algebra mit einem zweistelligen Operator . Ein Element heisst linksneutrales Element für den Operator , falls: . Rechtsneutrales Element analog. Ein neutrales Element ist rechts- und linksneutral. Lemma 5.8: Sei ⟨ ⟩ eine Algebra mit einer zweistelligen Verknüpfung . Dann gilt: Ist ein linksneutrales Element und ein rechtsneutrales Element, so ist . Insbesondere: Jede . Algebra ⟨ ⟩ mit einer zweistelligen Verknüpfung enthält höchstens ein neutrales Element. Definition 5.10: Sei ⟨ ⟩ eine Algebra mit einem zweistelligen Operator und einem neutralen Element . Ein Element heisst linksinverses Element von , falls . Gilt stattdessen , so nennt man ein rechtsinverses Element von . Ein Element heisst inverses Element, oder auch kurz Inverses von , falls sowohl ein linksinverses als auch ein rechtsinverses Element von ist. Lemma 5.11: Lemma: ( ) Lemma: ) )( (( (( ( ) ( )) )) ( ) ( ) ( ) ( ) ( ) gilt nur, wenn ABER: ( ) Euklidischer Algorithmus zur ggT-Bestimmung: func Euklid(m,n): if ( teilt ) then {return ;} else {return Euklid( );} Satz von Fermat: ( ) * + Satz von Euler: Für alle mit gilt: ( ) ( ) ( ) GRUPPEN Def. Gruppe: Bestandteile: 1. Trägermenge , 2. Verknüpfung Eigenschaften: ) ( ) 1. ist assoziativ, d.h. ( 2. neutrales Elem.: mit 3. ein inverses Elem. mit ) neutr. Elem: , inv. Elem: Bsp.: Addition ( * + ) neutr. Elem: , inv. Elem: ⁄ Bsp.: Multipikation ( Satz: ist bzgl. Multipl. mod eine Gruppe Gesetze: ( ) Involution: Kürzungsregel: Eindeutigkeit: Injektivität: Surjektivität: und Ordnung: ( ) eines Elementes Sei eine Gruppe. Die Ordnung ist das minimale , so dass . Existiert es nicht . Lemma: eine endliche Gruppe, so hat jedes Elem. endl. Ord. Lemma: eine Gruppe, ein Elem. mit endl. Ord., dann: ( ) UNTERGRUPPEN Def. Untergruppe: ⟨ ⟩ eine Gruppe und , dann heisst ⟨ ⟩ Untergruppe von , falls ⟨ ⟩ eine Gruppe ist. Lemma: eine Gruppe, eine Untergruppe von , so sind die neutralen Elemente von und identisch. Lemma: Sei eine Gruppe und ein Elem. endl. Ordnung, so ist: ( ) { } die kleinste Untergruppe, die enthält. * + Def.: * Beweis: abelsch ( kommutativ ( ) Vollst. bipartiter Graph: auf beiden Seiten n Knoten, dann alle miteinander verbinden. A5: 5 Tickets. gültig in beide Richtungen, aber nur 1mal Tickets z.B.: {Basel,Bern}, {Basel,Locarno},{Bern,Locarno},{Bern,Zürich},{Locarno,Zürich} Gibt es eine Rundreise bei der jedes Ticket verwendet wird? (= euler-Tour) -> Graph Euler-Tour vs. Euler-Spaziergang: Bei zweitem köenn start und ende frei gewählt werden. + NEBENKLASSEN, SATZ V ON LA GRANGE Def.: Sei eine Untergruppe von und , dann heisst: * + eine rechte Nebenklasse von in . * + eine linke Nebenklasse von in . und Falls gilt, so heisst auch Nebenkl. v. in . * + ist Untergruppe. ⟩ Bsp: ⟨ * + Lemma: Sei Untergruppe von . Dann gilt: 1. 2. Für sind Nebenkl. und ident. od. disjunkt 3. Ist endlich, so ist Für linke Nebenklassen gelten analoge Aussagen. Korollar: Sei eine Untergruppe . Dann bildet die Menge der rechten (und ebenfalls der linken) Nebenklassen von eine Partition in . Def.: Die Anzahl verschiedener Nebenklassen von in heisst ( ). der Index von in und wird abgekürzt mit Satz (Lagrange): eine endl. Gruppe und eine Untergruppe ( ). Insbesondere teilt die von . Dann gilt Kardinalität von also diejenige von . KÖRPER Def Körper: ⟩ besteht aus einer Trägermenge und Ein Körper ⟨ zwei zweistelligen Operatoren , so dass: ⟩ ist eine abelsches Gruppemit neutr. Elem 1. ⟨ . * + ⟩ ist eine abelsche Grp. mit neutr. Elem. 2. ⟨ . ( ) ( ) ( ) 3. Eigenschaften: Lemma: Für jeden Körper gilt: Lemma: Für jeden Körper gilt: oder ⟩ ist ein Körper Satz: ⟨ ist Primzahl. Satz: In jedem endl. Körper ist die multiplikative Gruppe zyklisch, d.h. mit { }. Def primitives Element: endl. Körper. Einen Generator der multiplikativen Gruppe * + nennt man primitves Element. Satz: blabla RSA-VERSCHLÜSSELUNG Initialisierung: Wahl von zwei Primzahlen (zufällig) Wahl von k: Zufällig Zahlen wählen, durchtesten bis ( )) ( wobei (Euklid erw.) also ( ) ( )( ) ( ) (Euklid erw.) Wahl von so dass Verschlüsselung: Verschlüsseln: Gesendete Nachricht: Entschlüsseln: ), also ALLGEMEINE FORMEL N SERIE 4 SUMMENFORME L N ∑ ∑ ∑ ( ∏ ) ( ∏ ) ∑ ( ( ∑ ( ∑ )( ) ) A1: a) Entfernen von Kanten A3: einmal gibt es einen, einmal nicht # Derangement (= fixpunktfrei Permutation) = Subfakultät: ( ) ∑ TIPPS +: SERIE 5 ) AUS DEN ÜBUNGEN * A2: „topologische Sortierung“: Nummerierung der Knoten, so dass alle Pfeile sortiert sind, also dass alle Pfeile von einer kleineren zu einer grösseren Zahl zeigen (wenn die Knoten nummeriert sind). Funktionen, die 1 auf 1 und 2 auf 2 abbilden. * + * + * + Anteil = #spezielle/#total. Hier: total=n!, Anteil=D_n/n! SERIE 6 Erweiterter Euklidischer Algorithmus: m 99 78 21 15 6 3 n 78 21 15 6 3 0 q 1 3 1 2 2 s t 1 0 m 99 78 21 15 6 3 n 78 21 15 6 3 0 q 1 3 1 2 2 s -11 3 -2 1 0 1 t 14 -11 3 -2 1 0 ⌊ ⁄ ⌋ SERIE 3 A1: Petersen-Graph ( ) * + * + Kante zwischen Mengen, die kein gleiches Element haben. + gibt, dann kann Beweis: falls es ein Dreieck (oben z.B. * keine Wahl für die übrigen Ecken getroffen werden, so dass ale Menge disjunkt sind. A2: Gegeben: 2 längste Pfade. Behauptung: 1 Knoten gemeinsam. Methode: Annahme es stimme nicht, dann Widerspruch zeigen. Zwei gleichlange Pfade, Verbindung einfügen -> Widerspruch A3: Gegeben: Graph G. 2 disjunkte Kreise. Zeigen: es gibt einen Pfad so lange wie die Kreise zusammen - 1. Bsp: Party-Organisation: 8 Bands, Organisator wählt 3 aus. Es hat n Gäste. Nach einer Umfrage merkt er: Für jedes Tripel von Bands mögen min. 4/5 der Gäste alle 3. Beh: Min. 1 Gast hat alle 8 gewählt Trick: zähle alle ((⏟ ) ), so dass Gast g ( hat. S: Summe aller gewählten Tripel. ∑ . ∑* + . / / . /. ) gewählt Dabei ist das unterste der ggT der ursprünglichen Der erweiterte Euklid löst die Gleichung ̃ ̃ mit ̃ ̃ als eine Lösung davon. Verallgemeinerte Version: Gleichung genau dann lösbar, wenn ( ̃ ̃ ) Alle Lösungen: ( ( ( ) ) teilt . ) Falls Gleichung der Form selbes Verfahren anwenden für . Falls Gleichung der Form dann selbes Verfahren für . Allgemeine Vereinfachungen: Wenn teilt , dann ( ) Wenn , dann Satz von Euler bzw. Kleiner Satz von Fermat: ( ) ( ) mit mit ( ) die Euler’sche -Funktion. ( ) ( ) ( ) mit ( ) . ( ) mit prim. Sonderfall (Kl. Satz von Fermat): ( ) wenn prim. ( ) ( ) Daraus folgt: mit . / . / A4: Hamiltonkreise zählen in : (Tipp: <=10) und ( ̃ ̃) Ordnung ist immer Teiler von ( ) (nicht ( ) direkt) via Primfaktorzerlegung, dann probieren