Kapitel 4: Das Überdeckungsproblem

Ähnliche Dokumente
Grundlagen der Technischen Informatik. 8. Übung

Grundlagen der Technischen Informatik. 7. Übung

1. Einleitung wichtige Begriffe

Nichtdeterministische Platzklassen

DuE-Tutorien 17 und 18

2. Repräsentationen von Graphen in Computern

11. Folgen und Reihen.

KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Partitionen natürlicher Zahlen

Mengensysteme, Wahrscheinlichkeitsmaße

Mengen und Abbildungen

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Komplexität von Algorithmen

Das Kryptosystem von McEliece. auf der Basis von linearen Codes

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

Die Komplexitätsklassen P und NP

2. Vorlesung. Die Theorie der schwarz-weissen Ketten.

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

2.2 Kern und Bild; Basiswechsel

Kapitel 12. Lineare Abbildungen und Matrizen

5 Zwei spieltheoretische Aspekte

Vorbereitungskurs Mathematik zum Sommersemester 2011 Tag 7

Matrizen, Determinanten, lineare Gleichungssysteme

abgeschlossen unter,,,, R,

9.2 Invertierbare Matrizen

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe

Mathematik II Frühjahrssemester 2013

Lineare Abhängigkeit

4 Greedy-Algorithmen (gierige Algorithmen)

Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz

Kapitel 15. Lösung linearer Gleichungssysteme

Konjunktive und disjunktive Normalformen

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 4. Minimierung digitaler Schaltfunktionen

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

OPERATIONS-RESEARCH (OR)

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

Hackenbusch und Spieltheorie

Elemente der Analysis II

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

5 Eigenwerte und die Jordansche Normalform

Vektorräume und Rang einer Matrix

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Caputo fraktionale Differentialgleichungen. 1 Riemann Liouville fraktionale Differentialgleichungen

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Randomisierte Algorithmen

Einführung in die Algebra

Elemente von S n = Aut([1, n]) heißen Permutationen. Spezielle Permutationen sind Transpositionen und Zyklen. (Vergl. Skript S

7 Lineare Gleichungssysteme

Ein Beispiel für eine lineare Abbildung

3 Vom Zählen zur Induktion

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Lineare Algebra I. Prof. Dr. M. Rost. Übungen Blatt 10 (WS 2010/2011) Abgabetermin: Donnerstag, 13. Januar.

Brückenkurs Mathematik

Im gesamten Kapitel sei Ω eine nichtleere Menge. Wir bezeichnen die Potenzmenge

2. Algorithmen und Algorithmisierung Algorithmen und Algorithmisierung von Aufgaben

Optimierung für Nichtmathematiker

Lineare Gleichungssysteme (Teschl/Teschl 11.1)

Prof. S. Krauter Dezimalbruchdarstellung rationaler Zahlen DezDarst.doc. Über die Darstellung von rationalen Zahlen als Dezimalbrüche.

Stetigkeit. Kapitel 4. Stetigkeit. Peter Becker (H-BRS) Analysis Sommersemester / 543

Noethersche und artinsche Ringe

Bestimmung einer ersten

Proseminar: Primzahlen 1. Vortrag Der erweiterte euklidische Algorithmus

Komplexita tstheorie eine erste Ubersicht. KTV bedeutet: Details erfahren Sie in der Komplexitätstheorie-Vorlesung.

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Mathematik 1, Teil B. Inhalt:

Mathematik für Wirtschaftswissenschaftler, WS 10/11 Musterlösungen zu Aufgabenblatt 11

4. Vektorräume und Gleichungssysteme

Kapitel 17. Determinanten

Pratts Primzahlzertifikate

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21

Übungen Mathematik I, M

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

23.1 Constraint-Netze

Eine zweidimensionale Stichprobe

Algorithmen und Datenstrukturen Kapitel 10

Theoretische Grundlagen der Informatik

4.1 Grundlegende Konstruktionen Stetigkeit von Funktionen Eigenschaften stetiger Funktionen... 92

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

A2.3 Lineare Gleichungssysteme

Informatik I WS 07/08 Tutorium 24

Satz 16 (Multiplikationssatz)

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s

2 Eulersche Polyederformel und reguläre Polyeder

y x x y ( 2x 3y + z x + z

Normalformen boolescher Funktionen

Induktive Definitionen

Institut für Mathematik Geometrie und Lineare Algebra J. Schönenberger-Deuel. Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien.

Einstieg in die Informatik mit Java

Theoretische Grundlagen des Software Engineering

Kapitel 3. Natürliche Zahlen und vollständige Induktion

3.5 Ringe und Körper. Diese Eigenschaften kann man nun auch. 1. (R, +) ist eine kommutative Gruppe. 2. Es gilt das Assoziativgesetz bezüglich.

Institut für Informatik. Rheinische Friedrich-Wilhelms-Universität Bonn

Spezialfall: Die Gleichung ax = b mit einer Unbekannten x kann mit Hilfe des Kehrwerts 1 a = a 1 gelöst werden:

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Eine Menge A ist die Zusammenfassung gleichartiger Elemente zu einer Gesamtheit. Eine Menge kann definiert werden durch

1 Zahlentheorie. 1.1 Kongruenzen

Transkript:

Kapitel : Das Überdeckungsproblem Kapitel Das Überdeckungsproblem Kapitel : Das Überdeckungsproblem Seite / 25

Kapitel : Das Überdeckungsproblem Inhaltsverzeichnis. Überdeckungsmatrizen.2 Minimalüberdeckungen. P, NP und NP-vollständig Kapitel : Das Überdeckungsproblem Seite 2 / 25

Überdeckungsmatrizen Systematischer Zugang zu den Verbesserungsproblemen aus Kapitel : Bei der Vereinfachung von Schaltnetzen: Finde zu einer gegebenen Booleschen Funktion eine Darstellung in disjunktiver Form mit minimalen Kosten. Verfahren: Im Karnaugh-Diagramm alle Einsen durch möglichst große rechteckige Blöcke überdecken. Für beliebige Stellenzahl dann Quine-McCluskey: Stelle eine Primimplikanten-Minterm- Matrix auf und wähle Zeilen so aus, dass alle Einsen überdeckt werden. Bei der Fehlerdiagnose von Schaltnetzen: Ziel: alle Fehler mit möglichst wenig Tests aufdecken. Verfahren: wähle aus der Fehlermatrix Zeilen so aus, dass alle Einsen überdeckt werden. Kapitel : Das Überdeckungsproblem Seite / 25

Überdeckungsmatrizen Beide Probleme wurden mit --Matrizen veranschaulicht: Bei der Vereinfachung: Zeilen entsprechen den maximalen Blöcken bzw. Primimplikanten Spalten entsprechen den einschlägigen Mintermen Bei der Fehlerdiagnose: Zeilen entsprechen den Tests Spalten entsprechen den Fehlern Als Verallgemeinerung dieser Beobachtungen definiert man die Überdeckungsmatrix. Kapitel : Das Überdeckungsproblem Seite / 25

Überdeckungsmatrix Definition.: Überdeckungsmatrix Eine --Matrix A = (a ik ) heißt Überdeckungsmatrix, falls (a) alle Spalten voneinander verschieden sind, (b) die Nullspalte fehlt. Die Spalten einer solchen Matrix heißen Objekte, die Zeilen Mengen. Ist a ik =, so sagt man, die Menge i überdeckt das Objekt k. Beachte: die Bedingungen (a) und (b) sind entbehrlich Fehler (bzw. einschlägige Minterme) sind nach dieser Terminologie Objekte, Tests (bzw. Primimplikanten) sind Mengen. Kapitel : Das Überdeckungsproblem Seite 5 / 25

Kapitel : Das Überdeckungsproblem Seite 6 / 25 Überdeckungsmatrizen - Beispiel Beispiel.: Überdeckungsmatrix Gegeben ist die Überdeckungsmatrix A, für die z.b. gilt: Menge überdeckt Objekt und Menge 7 überdeckt Objekt 9 8 6 7 5 2 9 7 6 5 2

Minimalüberdeckungen Die bekannten speziellen Überdeckungsprobleme lassen sich allgemeiner als Optimierungsaufgabe formulieren: Man suche möglichst wenige Mengen, welche alle Objekte überdecken (das ist eine sog. Minimalüberdeckung). Bei der Fehlerdiagnose reichte eine beliebige Minimalüberdeckung. Bei der Vereinfachung wurde eine andere Strategie verfolgt: Überdeckende Primimplikanten sollten möglichst geringe Gesamtkosten verursachen. Ordne also jeder Menge i die Kosten w(i) zu und formuliere das Optimierungsproblem allgemeiner: Bestimme eine kostenminimale Überdeckung, d.h. ein überdeckendes Mengensystem M mit möglichst geringen Gesamtkosten i M w(i). Kapitel : Das Überdeckungsproblem Seite 7 / 25

Zeilen- und Spaltenoperationen Definition.2: zi = ( zi! z ) i n s = (! l sl s ) l m Sei A eine (m n)-überdeckungsmatrix, und seien, z = ( z! z ) j j j n s ( s s ) =! m Zeilen und, Spalten von A: k k k z z : z z r s s : s s i j i j k l k l r r r für für r=,,n r=,,m Satz.: Elementare Vereinfachungsregeln Für eine Fehlermatrix ergeben sich damit die elementaren Vereinfachungsregeln: Z: Gilt z i z j für zwei Zeilen z i, z j, so streiche z i. S: Gilt s k s l für zwei Spalten s k, s l, so streiche s l. Kapitel : Das Überdeckungsproblem Seite 8 / 25

Elementare Vereinfachungsregeln Im Folgenden nehmen wir für alle Mengen gleiche Kosten an, deshalb müssen sie in den Regeln S und Z nicht erwähnt werden. Anschauliche Begründung der Regeln: Z: Gilt z i z j, so überdeckt die Menge z j mindestens all das, was auch z i überdeckt, daher kann z i gestrichen werden. S: Gilt s k s l, so wird das Objekt s l immer dann überdeckt, wenn auch s k überdeckt wird; also braucht man sich nicht um die Überdeckung von s l zu kümmern. Kapitel : Das Überdeckungsproblem Seite 9 / 25

Kapitel : Das Überdeckungsproblem Seite / 25 Vereinfachungsregeln - Beispiel Beispiel.: (Fortsetzung) Für die Überdeckungsmatrix A gilt: z z z 2 z z 5 z z 7 z s k s 9 (für alle k =,,8 ) Also kann man z, z 2, z 5, z 7 und s 9 streichen. 8 6 7 5 2 9 7 6 5 2

Kapitel : Das Überdeckungsproblem Seite / 25 Vereinfachungsregeln - Beispiel Beispiel.: Anwendung der Regeln ergibt: Das ergibt die Matrix A mit: Es gilt weiter: s s l (für alle l {,, 2, 5, 6, 7, 8}), also kann die S-Regel erneut angewendet werden. A : streiche z, z 2, z 5, z 7 und s 9 : 8 6 7 5 2 9 7 6 5 2 8 6 7 6 5 2

Kapitel : Das Überdeckungsproblem Seite 2 / 25 Vereinfachungsregeln - Beispiel Beispiel.: Das ergibt die Matrix A 2 mit: Es gilt weiter: z z, z 6 z (bzw. z z, z z 6 ), also kann die Z-Regel noch mal angewendet werden. A : durch Anwendung der S-Regel werden s, s, s 2, s 5, s 6, s 7 und s 8 gestrichen: 6 8 6 7 6 5 2

Vereinfachungsregeln - Beispiel Beispiel.: A 2 : durch Anwendung der Z-Regel werden die Zeilen z und z 6 gestrichen: Das ergibt dann die Matrix A mit: 6 Es verbleiben also die Mengen und. Diese bilden sogar eine Minimalüberdeckung für die Abbildungsmatrix A. Kapitel : Das Überdeckungsproblem Seite / 25

Vereinfachung einer Überdeckungsmatrix Bemerkungen zum Beispiel. Im Beispiel. wurde A aus A durch sukzessives Anwenden der Regeln S und Z gewonnen. Die Reihenfolge dieser Anwendungen ist nicht eindeutig bestimmt, eine andere Reihenfolge der Anwendungen führt unter Umständen zu einem anderen Ergebnis. Das Verfahren arbeitet also nicht-deterministisch. In jedem Fall terminiert das Verfahren, da die Dimension der Ergebnismatrix immer kleiner als die der Ursprungsmatrix ist. Kapitel : Das Überdeckungsproblem Seite / 25

Reduzible und verkürzbare Matrizen Definition.: Sei A eine Überdeckungsmatrix: A heißt reduzibel, falls (mindestens) eine der Regeln S und Z auf A anwendbar ist. Ansonsten heißt A irreduzibel. A heißt verkürzbar, wenn es eine echte Teilmenge der Menge der Zeilen von A gibt, so dass die aus diesen Zeilen gebildete Teilmatrix in jeder Spalte mindestens eine Eins enthält. Ansonsten heißt A unverkürzbar. Aus dieser Definition folgt weder, dass unverkürzbare Überdeckungsmatrizen irreduzibel sind, noch das Umgekehrte. Kapitel : Das Überdeckungsproblem Seite 5 / 25

Reduzible und verkürzbare Matrizen - Beispiel Beispiel.2: Die Matrix ist unverkürzbar, da die Streichung einer beliebigen Kombination von Zeilen immer mindestens eine Nullspalte in der Matrix erzeugt. Sie ist aber reduzibel, da die erste Spalte weggelassen werden kann. Die Matrix A = B = ist irreduzibel, da alle Zeilen und Spalten bzgl. unvergleichbar sind. Sie ist jedoch verkürzbar, da man eine beliebige Zeile streichen kann, ohne eine Nullspalte zu erzeugen. Kapitel : Das Überdeckungsproblem Seite 6 / 25

Reduzible und verkürzbare Matrizen - Beispiel Beispiel.: Gegeben sei ein System von sieben Punkten: {,,7 }. Als Objekte bezeichnen wir alle 2 Zweiermengen. Die (Überdeckungs-) Mengen sind alle möglichen 5 Dreiermengen. Eine Menge überdeckt nun ein Objekt, falls sie dieses als Punktmenge umfasst. Die Menge {2,,5} überdeckt also die Objekte {2,}, {2,5} und {,5}. Das führt zu der folgenden Überdeckungsmatrix: Kapitel : Das Überdeckungsproblem Seite 7 / 25

Reduzible und verkürzbare Matrizen - Beispiel Kapitel : Das Überdeckungsproblem Seite 8 / 25

Reduzible und verkürzbare Matrizen - Beispiel Beispiel.: Die Überdeckungsmatrix ist irreduzibel es lassen sich weder S- noch Z- Regeln anwenden. Sie ist aber verkürzbar. Durch entsprechendes Entfernen von Zeilen erhält man z.b. { {,2,}, {,5,6}, {,,7}, {2,5,7}, {2,,6}, {,,5}, {,6,7} } als Minimalüberdeckung. Bemerkung: Diese Minimalüberdeckung bezeichnet man auch als projektive Ebene, die grafisch veranschaulicht werden kann. Kapitel : Das Überdeckungsproblem Seite 9 / 25

Minimalüberdeckung: Komplexität Beispiel. zeigt die Schwierigkeit des Überdeckungsproblems: die Matrix ist irreduzibel und das Verfahren der elementaren Streichungen nicht anwendbar. Die einzige Möglichkeit, dann eine Minimalüberdeckung zu finden, ist eine Brute-Force -Methode: Teste für jede Teilmenge der Zeilenmenge, ob sie eine Überdeckung ist. Wähle aus den gefundenen Teilmengen eine (kosten-)minimale aus. Nachteil: Es gibt bei n Zeilen 2 n Teilmengen, also auch 2 n Tests diese Methode ist nicht effizient zu realisieren. Problem: Es ist kein anderes Verfahren bekannt, das in wesentlich einfacherer Weise aus einer irreduziblen Matrix eine unverkürzbare bestimmt. Man vermutet, dass es keinen solchen Algorithmus gibt, denn das Überdeckungsproblem gehört zur Klasse der NP-vollständigen Probleme. Kapitel : Das Überdeckungsproblem Seite 2 / 25

NP-vollständige Probleme In groben Zügen kann man NP-vollständige Probleme wie folgt beschreiben: Bisher ist kein (deterministischer) Lösungsalgorithmus bekannt, der mit polynominellem Aufwand auskommt, d.h. dessen Schrittzahl durch ein Polynom in der Größe der Aufgabenstellung abschätzbar ist. Für dieses Problem ist ein (deterministischer) Lösungsalgorithmus bekannt, der mit höherem als polynomiellen Aufwand arbeitet, bis er die optimale Lösung gefunden hat. (Der Brute-Force-Ansatz z.b. hat den Aufwand 2 n.) Man kann bisher nicht beweisen, dass es kein polynomielles (deterministisches) Lösungsverfahren gibt. Jedoch lässt sich für irgendeine optimale Lösung des Problems verifizieren, dass es sich tatsächlich um eine Optimallösung handelt. (Die Verifikation ist von polynomiellem Aufwand.) (Vollständigkeit) Es ist bewiesen, dass es entweder für alle NP-vollständigen Probleme oder für keines von ihnen ein polynomielles (deterministisches) Lösungsverfahren gibt. Kapitel : Das Überdeckungsproblem Seite 2 / 25

Effizient und nicht-effizient Der Brute-Force-Ansatz für das Überdeckungsproblem ist ein exponentielles Lösungsverfahren. Es wird als nicht effizient angesehen, da die Exponentialfunktion in n schneller wächst als jede polynomielle Funktion und diese Algorithmen auf einem Rechner nur für kleine n ausführbar sind. Auch das Problem, ob ein Graph einen Hamilton-Kreis besitzt (Beispiel 2.) ist NP-vollständig. Als effizient bezeichnet man polynomielle Verfahren, da sie auch für große n noch auf einem Rechner ausführbar sind. Probleme, die polynomielle Lösungsverfahren besitzen, werden der Klasse P zugeordnet. Probleme, die den ersten vier Punkten der NP-vollständigen Probleme entsprechen, liegen in der Klasse NP. Kapitel : Das Überdeckungsproblem Seite 22 / 25

Der Zusammenhang von P, NP und NP-vollständig Man vermutet den folgenden Zusammenhang zwischen den drei Klassen: Man weiß zwar, dass die Beziehung P NP gilt, jedoch ist bisher noch nicht geklärt, ob diese Inklusion echt ist, d.h. ob P NP gilt. Man vermutet zwar, dass P NP gilt, das ist aber noch nicht bewiesen. Sollte diese Behauptung bewiesen werden, dann bedeutet das, dass es z.b. für das Überdeckungsproblem kein polynomielles (deterministisches) Lösungsverfahren geben kann. Kapitel : Das Überdeckungsproblem Seite 2 / 25

Approximative Algorithmen Es ist also nicht immer möglich, mit polynomiellem Aufwand eine optimale Lösung zu finden. Man kann jedoch versuchen, der optimalen Lösung möglichst nahe zu kommen, das Ergebnis also zu approximieren. Eine mögliche Heuristik für das Vereinfachungsproblem mit dem Quine- McCluskey-Verfahren: Bestimme alle Primimplikanten. Wähle aus der Menge der Primimplikanten sukzessive solche aus, die möglichst viele einschlägige, noch nicht überdeckte Minterme neu überdecken. Mit dieser Heuristik werden schließlich auch alle Kernimplikanten ausgewählt. Auch im ungünstigsten Fall gilt: Anzahl der durch die Heuristik ausgewählten Primimplikanten Anzahl der minimal erforderlichen Primimplikanten + ln n Hierbei ist unter n die Anzahl der einschlägigen Minterme zu verstehen. Kapitel : Das Überdeckungsproblem Seite 2 / 25

Zusammenfassung Überdeckungsmatrizen Minimalüberdeckungen elementare Vereinfachungsregeln reduzibel irreduzibel verkürzbar unverkürzbar P NP NP-vollständig effizient nicht effizient approximative Algorithmen Kapitel : Das Überdeckungsproblem Seite 25 / 25