Stabile Paarungen. 1 Problemstellung Vorraussetzungen Aufgabe Beispiel... 2
|
|
- Ingrid Böhm
- vor 6 Jahren
- Abrufe
Transkript
1 Proseminar Theoretische Informatik Mika Delor Stabile Paarungen Wolfgang Mulzer Inhaltsverzeichnis 1 Problemstellung Vorraussetzungen Aufgabe Beispiel Gale-Shapley-Algorithmus als Text als Pseudocode Analyse des Algorithmus Korrektheit Laufzeit Optimalität Erweiterung 6 1 Problemstellung 1.1 Vorraussetzungen Es gibt zwei Gruppen von Personen. Jede dieser Personen soll mit genau einer Person aus der anderen Gruppe gepaart werden (damit ist die Paarung perfekt). Dabei hat jede Person eine Liste mit allen Personen aus der anderen Gruppe, auf der ein Ranking dieser Personen steht. Wenn eine Person A höher gerankt ist/weiter oben steht, als eine Person B, dann bedeutet das, dass der Besitzer der Liste lieber mit Person A gepaart werden möchte, als mit Person B. 1.2 Aufgabe Wir wollen eine Lösung haben, in der es keinen Fall gibt, bei dem Person A mit Person B und Person C mit Person D gepaart ist, aber Person A Person C höher als Person B gerankt und Person C Person A höher als Person D gerankt hat. In diesem Fall könnten Person A und Person C nämlich ihren derzeitigen Partner verlassen und zusammen kommen, damit würden beide sich verbessern. Wenn wir eine solche Lösung haben, dann stellt diese eine stabile Paarung dar. 1
2 1.3 Beispiel Als Beispiel gehen wir im Folgendem davon aus, dass die eine Gruppe Männer sind und die andere Gruppe Frauen sind. Dabei will jeder Mann und jede Frau einen Partner zum Heiraten finden. Einige Beispiele zum Verdeutlichen des Problems: 1. Anna hat die Liste: Peter, Hans Claudia: Hans, Peter Peter: Anna, Claudia Hans: Claudia, Anna in diesem Fall, ist eindeutig, wer zusammen gehört, Anna kommt mit Peter zusammen und Claudia mit Hans und alle sind glücklich. 2. Anna: Peter, Hans Claudia: Peter, Hans Peter: Anna, Claudia Hans: Anna, Claudia Hier sind sich die Männer sowie Frauen beim Ranking des anderen Geschlechts einig. Auch hier gibt es auch nur eine Möglichkeit für das Matching: (Anna, Peter), (Claudia, Hans) 3. Anna: Peter, Hans Claudia: Hans, Peter Peter: Claudia, Anna Hans: Anna, Claudia Jetzt gibt es zwei Möglichkeiten: (a) (Anna, Peter), (Claudia, Hans) Hier wären die Frauen super glücklich mit dem Ergebnis und die Männer hätten die ihre schlechteste Wahl bekommen. (b) (Anna, Hans), (Claudia, Peter) Hier wären die Männer super glücklich und die Frauen nicht. Beide Möglichkeiten sind stabil, in der zweiten Möglichkeit könnte Anna zum Beispiel nicht zu Peter wechseln, da dieser mit seiner Wahl bereit super glücklich ist und Claudia könnte nicht zu Hans wechseln, da auch dieser mit seiner Partnerin glücklicher ist, als er mit Claudia wäre. 2 Gale-Shapley-Algorithmus 2.1 als Text am Anfang ist jeder unverheiratet alle Männer gehen nun zu der Frau, die am weitesten oben auf ihrer Liste steht und machen ihr einen Antrag für den Anfang verloben sich Mann und Frau solange die Frauen, die Angefragt werden, noch keinen Partner haben, wird das so fortgeführt 2
3 wenn es eine Frau gibt, die bereits einen Partner hat und einen Antrag bekommt, dann guckt sie, ob ihr Verlobter oder ihr neuer Werber höher auf ihrer Liste steht wenn der Verlobte weiter oben steht, dann nimmt sie den Antrag nicht an und der Bewerber muss weiter unten auf seiner Liste sein Glück versuchen wenn der Werber weiter oben auf der Liste der Frau steht, dann löst sie die Verlobung auf und verlobt sich mit dem neuen Bewerber neu, der Ex muss jetzt weiter unten auf seiner Liste weiter nach seinem Glück suchen der Algorithmus endet, sobald niemand mehr ohne Partner dasteht (und alle Verlobten heiraten) 2.2 als Pseudocode alle Männer und alle Frauen sind partnerlos while es gibt einen Mann m, der keinen Partner hat und noch nicht jeder Frau seine Aufwartung gemacht hat do nimm m lass f die Frau auf der Liste von m sein, die am weitesten oben steht und der er noch keine Aufwartung gemacht hat if f partnerlos then (m,f) werden verlobt else if f ist mit m verlobt then if f bevorzugt m gegenüber m then m bleibt partnerlos else if f bevorzugt m gegenüber m then (m,f) werden verlobt m wird partnerlos end if end if end while return Set S von verlobten Paaren 3 Analyse des Algorithmus 3.1 Korrektheit Werden unsere Erwartungen an den Algorithmus erfüllt? I.e. sind die Paarungen stabil und perfekt. Lemma 1. Sobald eine Frau ihren ersten Antrag bekommen hat, bleibt sie verlobt, die Verlobung kann nur durch eine Verlobung durch einen besseren Mann ersetzt werden. Beweis. Durch den Algorithmus gehen die Männer nicht von selbst von der Frau weg, sondern werden immer durch einen neuen Mann ersetzt, der weiter oben auf der Liste der Frau steht, als er selbst. 3
4 Lemma 2. Wenn ein Mann m an einem Punkt im Algorithmus partnerlos ist, dann gibt es mindestens eine Frau, der er noch keinen Antrag gemacht hat. Beweis. Gehen wir davon aus, dass es einen Mann m gibt, der jeder Frau einen Antrag gemacht hat und partnerlos ist, dann muss nach Lemma 1 jede der n Frauen verlobt sein. Wenn n Frauen verlobt sind, müssen auch n Männer verlobt sein, da die Paare eins-zu-eins sind. Da es nur n Männer gibt, und m nicht verlobt ist, ist das ein Widerspruch. Satz 3. Der Algorithmus gibt eine perfekte Paarung zurück. Beweis. Wir gehen davon aus, dass es einen Mann m gibt, der den gesamten Algorithmus durchläuft und keinen Partner hat. Das bedeutet jedoch, dass er jeder Frau einen Antrag gemacht hat, da er sonst den Algorithmus nicht durchläuft. Das widerspricht jedoch Lemma 2, da es keinen Mann gibt, der allen Frauen einen Antrag gemacht hat und partnerlos ist. Satz 4. Der Algorithmus gibt eine stabile Paarung zurück. Beweis. Instabilität bedeutet, dass es eine Möglichkeit gibt, bei der es die Paare (m,f) und (m,f ) Teil der Lösungsmenge sind, obwohl m f gegenüber f und f m gegenüber m bevorzugt. Jetzt gibt es mehrere Möglichkeiten: 1. m hat f keinen Antrag gemacht. In diesem Fall steht f bei m weiter oben in der Liste, was ein Widerspruch dazu wäre, dass m f bevorzugt. 2. m hat f einen Antrag gemacht In diesem Fall wurde er von f zugunsten von m zurückgewiesen, den f gegenüber m bevorzugt. Da m der endgültige Partner von f ist, ist m = m oder f bevorzugt m gegenüber m, beides würde unserer Annahme widersprechen, dass f m bevorzugt. 3.2 Laufzeit Jeder Mann m, kann die Schleife höchstens n mal durchlaufen, wenn es n Frauen gibt, er würde also jeder Frau einen Antrag machen. Da es n Männer gibt, können also n Männer die Schleife jeweils höchstens n mal durchlaufen. Die Laufzeit ist also höchstens O(n 2 ). 3.3 Optimalität Definition 5. Eine Frau f ist ein gültiger Partner von Mann m, wenn es eine stabile Paarung gibt, bei welcher das Paar (m,f) existiert Definition 6. f ist der beste gültige Partner von m, wenn es keine Frau gibt, die m höher als f in seiner Liste stehen hat und ein gültiger Partner ist Satz 7. Durch den Algorithmus erhält jeder Mann den besten gültigen Partner. 4
5 Beispiel 7.1. Ein Problem, bei dem es keine eindeutige Lösung gibt hatten wir bereits: Anna: Peter, Hans Claudia: Hans, Peter Peter: Claudia, Anna Hans: Anna, Claudia Jetzt gibt es zwei Möglichkeiten: 1. (Anna, Peter), (Claudia, Hans) Hier wären die Frauen super glücklich mit dem Ergebnis und die Männer hätten die ihre schlechteste Wahl bekommen. 2. (Anna, Hans), (Claudia, Peter) Hier wären die Männer super glücklich und die Frauen nicht. Beide Möglichkeiten sind stabil, wie wir bereits geklärt haben Wenn wir jedoch den Algorithmus ausführen würden, würden die Männer ihre bessere Wahl bekommen und die Frauen ihre schlechtere. Beweis. Der beste gültige Partner von m wird durch best(m) dargestellt. Wir werden jetzt zeigen, dass jede Ausführung des Algorithmus die Paarungen der Menge {(m, best(m) m M} als Ergebnis hat. Wir machen einen Widerspruchsbeweis: Gehen wir davon aus, dass es eine Ausführung E gibt, der als Ergebnis die Paarungen S hat. In der Paarung S gibt es einen Mann m, der mit einer Frau zusammen ist, die nicht sein bester gültiger Partner ist. Da Männer ihre Liste von oben nach unten abarbeiten, muss er an irgendeinem Punkt von seinem besten gültigen Partner f abgelehnt worden sein. Dazu gibt es zwei Möglichkeiten: 1. m muss einen Antrag gemacht haben und abgelehnt worden sein, da f schon eine bessere Verlobung hatte 2. w hat die Verlobung mit m beendet, da jemand besseres einen Antrag gemacht hat Es gibt in jedem Fall einen Mann m, den f gegenüber m bevorzugt hat. Wenn f ein gültiger Partner von m ist, dann gibt es eine stabile Paarung S bei der m eine andere Partnerin f hat und m mit f zusammen ist. Wir gehen davon aus, dass m der erste Mann ist, der von einer gültigen Partnerin zurückgewiesen wurde. Das heißt, dass m in dieser Ausführung des Algorithmus von noch keiner gültigen Partnerin zurückgewiesen wurde, zu dem Zeitpunkt, als er f seine Aufwartung macht. Da m seine Liste von oben nach unten abarbeitet und er einen Antrag an f gemacht hat, ohne von einem gültigen Partner abgelehnt worden zu sein, heißt das, dass er f über f anordnet. Wir haben auch gesehen, dass f m gegenüber m bevorzugt, da sie m zugunsten von m abgelehnt hat. Wir wissen also, dass es ein S gibt, mit (m f), (m f ) S. Da aber m f gegenüber f und f m gegenüber m bevorzugt, ist das Paar (m,f) eine Instabilität in S. Das widerspricht unserer Annahme. Definition 8. m ist der schlechteste gültige Partner von f, wenn m ein gültiger Partner von f ist und es keinen gültigen Partner von f gibt, den sie auf ihrer Liste weiter unten stehen hat, als m Satz 9. Durch den Algorithmus erhält jede Frau den schlechtesten gültigen Partner. Beweis. Wir zeigen S* (die Paarung, die nach Ausführung des Algorithmus entsteht) ist eine stabile Paarung, bei der jede Frau mit ihrem schlechtesten gültigen Partner zusammen ist. Wir gehen davon 5
6 aus, dass es ein Paar (m,f) in S* gibt, sodass m nicht der schlechteste gültige Partner von f ist. Dann gibt es eine Stabile Paarung S, bei der f mit einem Mann m gepaart ist, den sie weniger mag, als m. In S ist m mit einer Frau f gepaart. Wir wissen, dass f der beste gültige Partner von m ist, also bevorzugt dieser f gegenüber f. Gleichzeitig wissen wir auch, dass f m gegenüber m bevorzugt. Also ist (m,f) eine Instabilität in S, also ist S instabil und unsere ursprüngliche Annahme, dass es einen schlechteren gültigen Partner für f gibt als m, widersprochen. 4 Erweiterung Die Gruppen müssen nicht unbedingt aus Personen bestehen, die nur mit einer Person aus der anderen Gruppe gepaart werden können. So kann eine Gruppe aus Krankenhäusern bestehen, die jeweils mehrere Praktikanten einstellen wollen und die andere Gruppe aus genau diesen Praktikanten. Dabei muss es nicht genauso viele Praktikanten, wie Praktikantenstellen geben, der Algorithmus funktioniert trotzdem. Er muss natürlich darauf angepasst werden, dass nun mehrere Männer eine eine Frau heiraten können und dann müssen die Männer durch Praktikanten und die Frauen durch Krankenhäuser ersetzt werden. Das ist übrigens das Problem, wofür der Algorithmus ursprünglich entwickelt wurde, um Medizinstudenten, die ein Praktikum machen wollen, auf die Praktikantenstellen in den Krankenhäusern aufzuteilen. 6
Welches Problem denn? Das Heiratsproblem. Formale Beschreibung. Paarungen
Das Heiratsproblem Welches Problem denn? Eine Heirat: ein Problem. Mehrere Heiraten: mehrere Probleme. Viele Heiraten: viele Probleme? Martin Schönhacker (P.S.: Heiraten muss kein Problem sein!) 1 2 Formale
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
MehrKlausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
MehrResolutionsalgorithmus
112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrFormale Grundlagen der Informatik
Formale Grundlagen der Informatik / 2015 1 Die Elemente einer (endlichen) Menge sollen den Elementen einer zweiten, gleichmächtigen Menge zugeordnet werden Problemstellung Bipartite Graphen Zuordnungsprobleme
Mehr10. Vorlesung Spieltheorie in der Nachrichtentechnik
10. Vorlesung Spieltheorie in der Nachrichtentechnik Vorlesung: Eduard Jorswieck Übung: Rami Mochaourab Sommersemester 2010 Kooperative Spiele - Stabile Paarungen Wir studieren Märkte mit zweiseitigen
MehrGraphenalgorithmen. Kurz-Vorstellung. Forschungsinteressen. Algorithm Engineering. Themen der VO: Probleme
Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06 Kurz-Vorstellung Studium an Univ. Augsburg (WiMa/Math) 1983--1990 Wiss. Mitarb.
MehrTheoretische Informatik SS 03 Übung 3
Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des
Mehr7 Der kleine Satz von Fermat
7 Der kleine Satz von Fermat Polynomkongruenz modulo p. Sei p eine Primzahl, n 0 und c 0,..., c n Z. Wir betrachten die Kongruenz ( ) c 0 + c 1 X +... + c n 1 X n 1 + c n X n 0 mod p d.h.: Wir suchen alle
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrÜbung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein
MehrDiskrete Strukturen Kapitel 2: Grundlagen (Beweise)
WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrDas Heiratsproblem. Definition Matching
Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
Mehr2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung
2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0
MehrDas Postsche Korrespondenzproblem
Das Postsche Korrespondenzproblem Eine Instanz des PKP ist eine Liste von Paaren aus Σ Σ : (v 1, w 1 ),..., (v n, w n ) Eine Lösung ist eine Folge i 1,..., i k von Indizes 1 i j n mit v i1... v ik = w
MehrFlüsse, Schnitte, Bipartite Graphen II
Flüsse, Schnitte, Bipartite Graphen II Jonathan Hacker 06.06.2016 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 1 / 42 Gliederung Einführung Jonathan Hacker Flüsse, Schnitte, Bipartite
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrLösungsvorschläge zu Blatt Nr. 6
Institut für Algorithmen und Kognitive Systeme Dr. Jörn Müller-Quade Carmen Kempka Christian Henrich Nico Döttling Vorlesung Informatik III Lösungsvorschläge zu Blatt Nr. 6 Aufgabe 1 (K) (4 Punkte) i.)
MehrEinführung in die Informatik 1
Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,
MehrFormale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln
Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/36 Ersetzbarkeitstheorem
Mehr22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet
22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet Autor Volker Claus, Universität Stuttgart Volker Diekert, Universität Stuttgart Holger Petersen, Universität Stuttgart
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrTheorie der Informatik
Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man
MehrWiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
MehrVorlesung Algorithmische Geometrie Konvexe Hülle im R 3
Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 26.06.2012 Prüfung! Termine: 20. Juli 27.
MehrVervollständigung Lateinischer Quadrate
Vervollständigung Lateinischer Quadrate Elisabeth Schmidhofer 01.12.2013 Inhaltsverzeichnis 1 Vorwort 3 2 Einleitung 4 2.1 Beispele.............................................. 4 3 Lateinische Quadrate
Mehr3. Übungsblatt zu Algorithmen I im SoSe 2017
Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799
Mehr3. Musterlösung. Problem 1: Boruvka MST
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrFelix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09
Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,
MehrAlgorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1
Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische
MehrEinwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008
Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und
MehrGTI. Hannes Diener. 18. Juni. ENC B-0123,
GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 18. Juni 1 / 32 Als Literatur zu diesem Thema empfiehlt sich das Buch Theoretische Informatik kurzgefasst von Uwe Schöning (mittlerweile in der 5.
Mehr2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:
2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
MehrKapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte
Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In
Mehr4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.
4.4 Perfektes Hashing Das Ziel des perfekten Hashings ist es, für eine Schlüsselmenge eine Hashfunktion zu finden, so dass keine Kollisionen auftreten. Die Größe der Hashtabelle soll dabei natürlich möglichst
MehrStudent: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:
Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrRandomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
Mehr2.2 Allgemeine (vergleichsbasierte) Sortierverfahren
. Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen
MehrPunktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.05.2012 Nachtrag: Dynamische Bereichsabfragen Letzte Woche: kd-trees und Range-Trees
MehrÜbersicht Shell-Scripten
!!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,
MehrQuadtrees und Meshing
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.06.2014 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung
MehrTheoretische Informatik
Theoretische Informatik Lektion 10: Entscheidbarkeit Kurt-Ulrich Witt Wintersemester 2013/14 Kurt-Ulrich Witt Theoretische Informatik Lektion 10 1/15 Inhaltsverzeichnis Kurt-Ulrich Witt Theoretische Informatik
MehrWS 2008/09. Diskrete Strukturen
WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809
MehrEinführung in Approximative Algorithmen und Parametrisierte Komplexität
Einführung in Approximative Algorithmen und Parametrisierte Komplexität Tobias Lieber 10. Dezember 2010 1 / 16 Grundlegendes Approximationsalgorithmen Parametrisierte Komplexität 2 / 16 Grundlegendes Definition
MehrSuchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die
MehrS=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
MehrKapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle
Kapitel 9 Algorithm. Geometrie Kürzeste Abstände Konvexe Hülle Überblick Teilgebiet der Informatik, in dem es um die Entwicklung effizienter Algorithmen und die Bestimmung der algorithmischen Komplexität
MehrInformatik I. Informatik I Iteration vs. Rekursion. Iteration vs. Rekursion Iteration vs. Rekursion. 20. Iteration vs.
Informatik I 1. Februar 2011 20. Informatik I 20. Jan-Georg Smaus 20.1 Albert-Ludwigs-Universität Freiburg 1. Februar 2011 Jan-Georg Smaus (Universität Freiburg) Informatik I 1. Februar 2011 1 / 31 Jan-Georg
MehrAlgorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
MehrÜbung zu Einführung in die Informatik # 11
Übung zu Einführung in die Informatik # 11 Tobias Schill tschill@techfak.uni-bielefeld.de 22. Januar 2016 Aktualisiert am 22. Januar 2016 um 11:36 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* Aufgabe
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 05: Weitere Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Weitere Kontrollstrukturen Wiederholungsstrukturen (Schleifen) While-,do-,for-Schleifen
MehrEffiziente Algorithmen
Effiziente Algorithmen Aufgabe 5 Gruppe E Martin Schliefnig, 0160919 Christoph Holper, 9927191 Ulrike Ritzinger, 0125779 1. Problemstellung Gegeben ist eine Datei, die eine Million reelle Zahlen enthält.
MehrGrundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
MehrGraphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines
MehrBeispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5
Robert Elsässer Paderborn, den 15. Mai 2008 u.v.a. Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 AUFGABE 1 (6 Punkte): Nehmen wir an, Anfang bezeichne in einer normalen
MehrTheoretische Informatik SS 03 Übung 5
Theoretische Informatik SS 03 Übung 5 Aufgabe 1 Im Buch von Schöning ist auf S. 106-108 beschrieben, wie eine Turing-Maschine durch ein GOTO-Programm simuliert werden kann. Zeigen Sie, wie dabei die Anweisungen
MehrWenn ich pro Sekunde eine natürliche Zahl aufzählen kann, kann ich in 2000 Sekunden alle natürlichen Zahlen aufsagen.
Schülerzirkel Mathematik Fakultät für Mathematik. Universität Regensburg Unendliche Mengen Immer eins mehr als du 1 Was ist unendlich? Michi sagt zu Anna: Wenn ich pro Sekunde eine natürliche Zahl aufzählen
MehrRechnerische Komplexität
Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge
MehrSOI 2013. Die Schweizer Informatikolympiade
SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen
MehrKlassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt
Klassen und Objekte Klassen sind Vorlagen für Objekte. Objekte haben Attribute Konstruktoren Methoden Aus einer Klasse kann man beliebig viele Objekte herstellen. Attribute bestimmen die Eigenschaften
MehrAnalysis 1, Woche 2. Reelle Zahlen. 2.1 Anordnung. Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität).
Analysis 1, Woche 2 Reelle Zahlen 2.1 Anordnung Definition 2.1 Man nennt eine Anordnung für K, wenn: 1. Für jeden a K gilt a a (Reflexivität). 2. Für jeden a, b K mit a b und b a gilt a = b (Antisymmetrie).
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
MehrAlgorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
MehrBäume und Wälder. Definition 1
Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!
MehrLenstras Algorithmus für Faktorisierung
Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
Mehr11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
MehrIsomorphie von Bäumen
Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................
MehrDer Dreyfus-Wagner Algorithmus für das Steiner Baum Problem
Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner
MehrProbleme aus NP und die polynomielle Reduktion
Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrLOOP-Programme: Syntaktische Komponenten
LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=
MehrBeispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6
Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer
Mehr1. [Aufgabe] Welche der folgenden Aussagen sind gültige Einwände gegen das Sprichwort Alles verstehen heisst alles verzeihen?
Lineare Algebra D-MATH, HS 2014 Prof. Richard Pink Lösung 1 1. [Aufgabe] Welche der folgenden Aussagen sind gültige Einwände gegen das Sprichwort Alles verstehen heisst alles verzeihen? a Niemand versteht
Mehr1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit
Die Programmiersprache LOOP (i) Syntaktische Komponenten: Variable: x 0, x 1, x 2,... Konstanten: 0, 1, 2,... Trennsymbole: ; := Operationszeichen: + Schlüsselwörter: LOOP DO END (ii) LOOP-Programme: Wertzuweisungen:
MehrLösungsvorschläge Blatt 4
Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt 4 Zürich, 21. Oktober 2016 Lösung zu Aufgabe 10 (a) Wir zeigen mit
MehrChr.Nelius: Zahlentheorie (WS 2006/07) ggt und kgv
ChrNelius: Zahlentheorie (WS 2006/07) 8 3 ggt und kgv Wir erinnern uns hoffentlich an die folgenden Definitionen des ggt s und des kgv s zweier ganzer Zahlen (31) DEF: Eine ganze Zahl g heißt größter gemeinsamer
Mehr11. Übung zu Algorithmen I 6. Juli 2016
11. Übung zu Algorithmen I 6. Juli 2016 Lisa Kohl lisa.kohl@kit.edu mit Folien von Lukas Barth Roadmap Ausblick: Was sind schwierige Probleme? Travelling Salesman Problem - Reprise ein ILP ein Algorithmus
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
MehrEinführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while
Mehr4.7 Der Algorithmus von Dinic für maximalen Fluss
4.7 Der Algorithmus von Dinic für maximalen Fluss Wir kennen bereits den Algorithmus von Ford Fulkerson zur Suche nach einem maximalen Fluss in einem Graphen. Wir lernen nun einen Algorithmus für maximalen
MehrAccess 2010 Programmierung Schleifen
Access 2010 Programmierung Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Beispiel für Schleifen In einem Formular gibt der Benutzer für den Farbanteil Rot einen Unter- und Obergrenze
MehrFachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave
Fachhochschule Südwestfalen Wir geben Impulse Kontrollstrukturen und Schleifen in Octave Einführung Inhalt m-files Script-Files Function-Files Ein- Ausgabe von Variablen oder Ergebnissen For-Schleife While-Schleife
MehrMatchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr
Matchings (Paarungen) in Graphen PS Algorithmen auf Graphen SS `06 Steven Birr 1 Gliederung 1) Definitionen und Beispiele 2) Algorithmus des maximalen Matchings 3) Das Personal-Zuteilungsproblem Ungarischer
Mehr9. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
Mehr