Die Klasse P - praktisch lösbare Probleme - also Entscheidungsprobleme, die in Polynominalzeit in einer deterministischen Turing-Maschine gelöst werden können. (Deteministisch bedeutet, dass der nächste Schritt ist eindeutig bestimmt ist.) Es gibt ein bestimmtes Programm, und genau das wird von der Turing-Maschine abgearbeitet, irgendwann wird dann das Ergebnis ausgegeben. Die Klasse P ist eine Teilmenge von NP, ob sie mit NP identisch ist, ist unklar, vermutlich nicht. |
Klassifizierung von Entscheidungsproblemen |
Die Klasse NP |
NP-vollständige Probleme
So bezeichnet man die schwersten Probleme in der Klasse NP, zur Zeit etwa 2000.
Sie sind entscheidbar.
Es ist ein Polynomialzeit-Algorithmus zur Überprüfung der Lösung bekannt.
Sie besitzen Lösungen in exponentieller Zeit. Niemand konnte jedoch bislang beweisen, ob sie exponentielle Zeit benötigen müssen.
Sie sind ausführbar, wenn man zeigen kann, dass irgend ein NP-vollständiges Problem ausführbar ist (dass es durch einen polynomialen Algorithmus gelöst werden kann). Polynomiale Algorithmen für solche Probleme kennt man bislang nicht, man nimmt an, dass es diese auch nicht gibt. Das müsste "nur" noch bewiesen werden.
Sie sind miteinander verwandt. (Darauf bezieht sich die Formulierung "vollständig".) Sollte jemand einen Polynomialzeit-Algorithmus zur Lösung eines einzigen NP-vollständigen Problems finden, würde sich dies auch auf alle anderen NP-vollst. Probleme anwenden lassen.
Bsp.: TSP, Stundenplanproblem
Podcast | Podcast | Podcast Millenium Problems
Glossar zu dem nachfolgenden Text
adjazent - Knoten sind miteinander verbunden, benachbart.
inzident - Eine Kante ist mit einem Knoten inzident, wenn die Kante von dem Knoten weg- oder hinführt.
G - ungerichteter Graph
E - Kantenmenge
V - Knotenmenge
U - Teilmenge, Knotenüberdeckung von G
Knotenüberdeckung - Eine Knotenüberdeckung ist eine Teilmenge der Knoten eines Graphen, die insgesamt mit allen Kanten inzident sind.
Informationen
Weitere Informationen:
Bevor Sie anfangen: Wie wär's mit einer Million Dollar? Das ist kein Scherz!
Laden Sie sich bitte ein Programm, mit dem schnell Graphen erstellt und bearbeitet werden können, aus dem Internet:
Das Cliquenproblem (clicque) |
Hefteintrag |
In diesem ungerichteten Graph gibt es viele Cliquen. Jede Zweiergruppe ist eine Clique, aber auch Lissy, Tom und Mary oder Peter, Barack Mildred und Mary. Die größte Clique ist in diesem Graph die letztgenannte. Allgemein: Eine Clique der Größe k - k-Clique) - in einem Graphen G = (V, E) ist ein vollständiger Teilgraph der Größe k. Vollständig bedeutet in unserem Fall, dass sich die Mitglieder einer Clique untereinander kennen, durch eine Kante verbunden sind. Die Größe einer Clique ist die Anzahl der in ihr enthaltenen Knoten. Im Beispiel ist k = 4 für die größte Clique. a) Gibt es in einem Graphen eine Clique der Größe k? - Entscheidungsproblem |
||||||||||||||||||
Soll die maximale Größe einer Clique bestimmt werden, so sind alle Teilmengen des Graphen zu erzeugen und diese jeweils darauf zu überprüfen, ob sie eine Clique sind. Das ist nicht effizient, weil es Kandidaten gibt. Ein Test verläuft vergleichbar schnell, da maximal Paare zu testen sind.
|
Reduktion von Clique auf Knotenüberdeckung
Der Graph enthält die Clique V' = {1,2,3,4}. |
Durch Reduktion wird dieser Graph erzeugt, der die Knotenüberdeckung V-V' = {5,6} besitzt. |
Aufgabe g) Reduzieren Sie den Graphen in Aufgabe e) nach Knotenüberdeckung! Erstellen Sie dazu zuerst den Komplementärgraphen. Hinweis: Nicht alle Kanten verlaufen geradlinig. |V| - k = .......... ? |
|
Aufgabe i) Üben Sie mit dem Programm graphbench. |
Unterschiedlich große Gegenstände sind in möglichst wenigen Behältern unterzubringen.Die Behälter haben die gleiche Größe.
Variante offline: Anzahl und Größe der Gegenstände sind bekannt. Die Verteilung auf die Behälter ist fast ideal möglich.
Variante online: Nur der aktuelle Gegenstand ist bekannt, die beliebig vielen anderen nicht. Es muss aber sofort verpackt werden. Somit kann man nur eine Annäherung an die ideale Verteilung erzielen.
Entscheidungsproblem (NP-vollständig)
Gegeben: n, k. Können die n Gegenstände so auf die k Behälter verteilt werden, dass keiner der Behälter überläuft?
Optimierungsproblem (NP-schwer)
Finde eine Zuordnung, bei der die Anzahl an Behältern minimiert wird.
Kann ein Entscheidungsproblem in polynomialer Zeit nicht gelöst werden, dann kann auch das zugehörige Optimierungsproblem nicht in polynomialer Zeit gelöst werden.
Wo spielen Behälterprobleme eine Rolle?
- Verpackungsmittelindustrie
Aufgabe a) Eine Übung: --Applet |
Lösungsmöglichkeiten
Next Fit
Ein Behälter wird solange mit Gegenständen befüllt, bis ein Gegenstand zu groß ist. Jetzt wird der aktuelle Behälter geschlossen und ein neuer Behälter bereitgestellt, in den der Gegenstand hineinkommt. Es kann sein, dass der erste Behälter nicht ganz voll ist - Deckel drauf, dann sieht's keiner. Natürlich kann next Fit zu einer sehr ungünstigen Verteilung führen. Laufzeitverhalten: linear (Es geht schnell, verbraucht aber viele Eimer ;-))
First Fit
Das aktuelle Element wird in den ersten Behälter gepackt, in den es hineinpasst. Prinzip: kein Platz wird verschwendet! Die Deckel müssen aber, solange die Behälter nicht gefüllt, daneben liegen.
Im schlimmsten Fall muss man alle Behälter nach dem passenden Platz durchsuchen - die Laufzeit ist in O(n²) , es sei denn, man organisiert die Behälter in Bäumen, dann beträgt die Laufzeit O(n log n).
Aufgabe b) Dieses -Applet demonstriert First Fit. |
Best Fit
Hier wird der Gegenstand nicht in den ersten Behälter gepackt wird, in den er hinein passt, sondern in den vollsten.
Aufgabe c) Lesen Sie sich den Text auf der Seite aufmerksam durch. Auch als |
Aufgabe d) Entwickeln Sie eine Demonstration von Next Fit / First Fit / Best Fit für den Unterricht. |
Aufgabe a) Der interaktive Rucksackproblem-Löser Wer ist der beste Outdoor-Spezialist des Kurses? |
Hefteintrag:
Beispiele für das Rucksackproblem
- Der Einkauf ist auf zwei Einkaufstaschen derart zu verteilen, dass diese gleich schwer sind.
- Aupair Madleen hat folgende Aufgaben aufgeschrieben bekommen:
Wohnung putzen, einkaufen, ein Vier-Gänge-Menu kochen, Kinder duschen, Hund ausführen,
Kleid aus der Reinigung holen, Kinder für Karneval schminken. Welche Reihenfolge ist die günstigste?
- Funkkom plant ein neues Mobilfunknetz mit 5.000 Antennen und 100 verschiedenen Frequenzen.
Kann man das so einrichten, dass alle benachbarte Antennen auf verschiedenen Frequenzen senden?
Nun gilt es, in Einzelarbeit 5 Aufgaben zu lösen:
Aufgabe b) Lesen Sie den ersten Textabschnitt , denken Sie sich ein eigenes Beispiel aus und schreiben Sie anhand dieses Beispiels, was unter "Rucksackproblem" zu verstehen ist. |
Aufgabe c) Erklären Sie die Begriffe "Gewichtsschranke" und "Profitdichte"! |
Aufgabe d) Wie viele Möglichkeiten gibt es bei 10 Gegenständen, die zur Befüllung des Rucksacks zur Verfügung stehen? Schreiben Sie einen Antwortsatz unter Einbeziehung der Fragestellung. |
Aufgabe e) Wie gelangt man zur optimalen Lösung? |
Aufgabe f) Zeichnen Sie sich ein ähnliches Diagramm wie auf der Seite ab, tragen Sie einige blaue und rote Punkte ein und erklären Sie dazu den Begriff Pareto-optimale Punkte! |
Die fertige Word-Datei ist an heidecksburg@web.de unter dem Betreff RSP zu schicken.
HA
Aufgabe g) Eine andere Seite: Angenommen, es gilt, 50 Gegenstände unterzukriegen. Wie alt sind Sie, wenn der Rechner fertig mit dem Berechnen ist? Schreiben Sie einen Antwortsatz unter Einbeziehung der Fragestellung. |
Spiel(e)
Lösung mittels eines Quantencomputers möglich?
Ein Hamilton Kreis ist ein Pfad, der jeden Knoten genau einmal besucht. Die Entscheidungsfrage ist nun, ob es in einem Graphen solch einen Hamiltonkreis gibt.
Man stelle sich Neustadt einfach als einen Graphen vor: Die Kreuzungen sind die Knoten und die Straßenabschnitte zwischen diesen Knoten sind die Kanten. Eine Reisegruppe soll nun auf einem Weg an allen Sehenswürdigkeiten vorbeigeführt werden.
Lösungsmöglichkeit: Backtracking (für wenige Knoten)
- Beginne bei einem Knoten - meinetwegen bei der Stadtkirche - und speichere die Pfade zu unbesuchten Sehenswürdigkeiten, ausgehend von der Kirche.
-
Für jeden Pfad sind neue Pfade - ausgehend vom letzten Knoten - zu unbesuchten Nachbarn zu speichern.
- Wiederhole diese Schritte, bis ein Hamilton Kreis gefunden wird oder bis alle Pfade besucht wurden oder du vor Müdigkeit auf einer Parkbank einschläfst.
Anmerkung: Man unterscheidet beim Hamiltonkreisproblem zwischen ungererichteten und gerichteten Graphen.
Aufgabe b) Üben Sie mit dem Programm graphbench. |
Wer von Neustadt an der Orla nach Rostock will, gibt die beiden Orte ins Navi ein und erhält binnen Sekunden die optimale Route. Sollen auf dem Weg noch Berlin, Magdeburg, Salzwedel und Neubrandenburg in dieser Reihenfolge angefahren werden, berechnet die Elektronik erst den besten Weg von Neustadt an der Orla nach Berlin, dann die Strecke von Berlin nach Magdeburg usw.. | |
Problematisch wird es, wenn in beliebiger Reihenfolge mehrere Städte besucht werden sollen, dabei aber auf dem kürzesten Gesamtweg. Möchte ein Duhlendorfer bei allen Karnevalshochburgen – nehmen wir an, es sind 26 - auf einer möglichst effizienten, also preisgünstigen Rundreise vorbeischauen, wären die schnellsten Computer der Welt mit der Reiseplanung hoffnungslos überfordert. Angenommen, es gäbe zwischen den Städten immer nur eine Verbindung, sind über 1 000 000 000 000 000 000 000 000 Routen möglich. Aber diese Rechnung ist viel zu aufwändig. |
Aufgabe a): 1 Spieler: Wer findet in diesem Spiel die kürzeste Tour? Fertigen Sie per Drucktaste ein Bildschirmfoto an. 2 Spieler: |
Aufgabe b): Markieren Sie einige Punkte für eine Rundreise in Ihrer Heimat auf der Karte und lassen Sie sich die Rundreise (z.Bsp. Sehenswürdigkeiten) vorführen. |
Aufgabe c): bei n Städten gibt es (n-1)! Routen. Wie viele Routen sind es bei n=10 Städten? |
Aufgabe d): Planen Sie auf einer Karte eine Rundreise (Auto oder Flugzeug, speichern Sie das Bildschirmfoto! |
Aufgabe e): Arbeiten Sie die Erläuterung durch und schauen Sie sich dieses Applet an! Applet zur Demonstration des Ameisen-Alg. und des Abkühlungsprozess-Alg.: |
Aufgabe f): Angenommen, man bringt auf einer Schreibmaschinenseite 1000 Routenpläne unter und legte die 0,1 mm starken Seiten aufeinander. Wie hoch wäre dann der Papierturm? |
Aufgabe g) Üben Sie mit dem Programm graphbench. |
Stellen Sie sich vor, Sie haben Biologie im Fachraum, plötzlich drängt eine 5. Klasse herein, deren Schüler lautstark behaupten, jetzt hier Biologie zu haben und zu ihrer Rechtfertigung auf den Vertretungsplan verweisen. Dieses Problem fällt unter die sogenannten Färbeprobleme. Jede Klasse hat auf dem Plan eine bestimmte Farbe, dazu jeder Raum und jeder Lehrer. Hinzu kommt, dass durch Hallenbelegungszeiten und durch Blockunterricht im Kurssystem weitere Faktoren auf den Stundenplanbau wirken. Bis heute gibt es kein Programm, das dieses Problem optimal lösen kann.
Beim Färben von Karten versucht man mit minimaler Anzahl an Farben auszukommen.
Aufgabe a): Versuchen Sie selbst einmal, Kanten in einem zusammenhängenden Graphen zu färben. |
Aufgabe b): Gegeben sei ein Graph mit 8 Knoten. Zeichnen Sie diesen Graphen. Überprüfen Sie anhand Ihrer Skizze folgende Gleichung: Anzahl Knoten - Anzahl Kanten + Anzahl der Flächen = 2 |
Aufgabe c): Informieren Sie sich hier und halten Sie einen kurzen Vortrag dazu. |
Aufgabe e) Üben Sie mit dem Programm graphbench. |
Eulerformel: Für jeden planaren zusammenhängenden Graphen G = (V,E) gilt
|V| - |E| + |A| = 2
(A - Flächen, E - Kanten, V - Knoten)
4 Farben reichen immer aus, um eine beliebige Landkarte in der euklidischen Ebene (zweidimensional) so einzufärben, dass keine zwei angrenzenden Länder die gleiche Farbe bekommen.
(Ein gemeinsamer Punkt zählt nicht als Grenze.)
Einige weitere Problemchen:
Mengenpackungsproblem, Mengenüberdeckungsproblem, Steinbauerproblem, Maximaler Schnitt