a gift to mathematics from computer science S. Smale

P versus NP ... a gift to mathematics from computer science S. Smale ¨ del an J. von Neumann > Ein Brief von K. Go > Effizientes Entscheiden und effi...
Author: Benjamin Kohl
36 downloads 0 Views 547KB Size
P versus NP ... a gift to mathematics from computer science S. Smale

¨ del an J. von Neumann > Ein Brief von K. Go > Effizientes Entscheiden und effizientes Verifizieren > Reduktion und Vollst¨andigkeit > Einsichten, Ausblicke, Auswege, Spekulationen, ... > Referenzen, Hinweise zur Literatur

erweiterte und kommentierte Fassung der Folien eines Vortrages im Mathematischen Institut der Universit¨ at Erlangen-Nu ¨rnberg am 12. November 2002 im Rahmen einer Vortragsreihe zu den “Milleniumsproblemen” der Mathematik 1

Das “P versus NP Problem” ist eines der sieben “Milleniumsprobleme” der Mathematik, die im Jahr 2000 — also 100 Jahre nach David Hilberts Vorlesung auf dem zweiten Internationalen Mathematikerkongress — mit einem Presigeld von je $1 Million versehen, vom Clay Mathematics Institute in order to celebrate the new millenium pr¨ asentiert wurden. Dieses Problem fu ¨hrt in seinem Titel die Ku ats¨rzel fu ¨r zwei Komplexit¨ klassen und betrifft, in nicht-technischer Formulierung, das Verh¨ altnis der beiden grundlegenden algorithmische Begriffe Entscheiden und Verifizieren und ihrer Komplexit¨ at zueinander. Als solches wird es als eine der fundamentalen ungel¨ osten Fragestellungen der Theoretischen Informatik angesehen, 1971 von Stephen Cook erstmals formuliert und wegen seiner Relevanz fu ¨r ganz alltagspraktische Fragestellungen (Optimierungsprobleme), die kurz darauf in einer Arbeit von Richard Karp evident gemacht wurde, intensiv untersucht. Das “P versus NP Problem” ist das einzige der mathematischen Milleniumsprobleme mit ausgesprochen algorithmischem Charakter. Insofern kann man in Hilberts 10. Problem, der Frage nach einem algorithmischen Verfahren um die

L¨ osbarkeit diophantischer Gleichungen zu entschieden, eine Vorl¨ aufer sehen. Es sei daran erinnert, dass im Jahre 1900 der begriffliche Apparat (die pr¨ azise Formulierung des Algorithmusbegriffes und die sich daraus ergebenden Konsequenzen) fu ¨r die negative Antwort auf Hilberts Fragestellung noch l¨ angst nicht existierte. Und auch mit diesem Formalismus an der Hand, der es erst erm¨ oglichte, algorithmische Unm¨ oglichkeitsaussagen zu beweisen, hat es noch Jahrzehnte gebraucht, bis diese Antwort gefunden war — insofern ko ¨nnte ein Bezug zwischen diesen beiden Problemen auch darin bestehen, dass auch fu ¨r “P versus NP” der ad¨ quate begriffliche Zugang und die dazugeh¨ origen mathematisch-technischen Werkzeuge noch fehlen, was wohl nicht wenige (frustrierte) Experten auf diesem Gebiet einr¨ aumen wu ¨rden. Die offizielle Darstellung des “P versus NP Problems” im Rahmen der mathematischen Milleniumsprobleme wurde von S. Cook verfasst. Seine Darstellung orientiert sich an der etablierten Begriffen und Formalismen der Komplexit¨ atstheorie, ist daher etwas “technischer” und weniger beispielorientiert als die vorliegenden Folien und der erl¨ auternde Text. Cook geht auch auf Beziehun-

1-1

gen zu anderen Komplexit¨ atsklassen ein, das muss an dieser Stelle ebenso unterbleiben, wie die Diskussion analoger Fragestellungen im Rahmen anderer Modelle fu ¨r Berechnungsprozesse als dem klassischen Modell der Turing-Maschine. Ausfu ¨hrliche Darstellungen des “P versus NP Problems” sind inzwischen sehr zahlreich, kein Lehrbuch der Theoretischen Informatik kommt an diesem Thema vorbei. An dieser Stelle sollen nur drei Empfehlungen gegeben werden, wo man kompetent informiert wird und von denen ausgehend man in die reichhaltige Literatur geleitet wird. Der Klassiker der Lehrbuchliteratur auf dem Gebiet der Komplexit¨ atstheorie ist: Michael R. Garey and David S. Johnson, Computers and Intractibility, a Guide the Theory of NP-Completeness. W.H. Freeman and Co., San Francisco, 1979. Dieses Buch ist immer noch eine ausgezeichnete Einfu ¨hrung und mit gutem Grund immer noch im Buchhandel erh¨ altlich. Eine neuere umfassende und kompetente Einfu ¨hrung ist: C. H. Papadimitriou, Computational Complexity, Addison-Wesley, 1994.

Sehr instruktiv (allerdings ohne Vorkenntnisse eine etwas schwierigere Lektu ¨re) ist eine Darstellung des status quo nach 20 Jahren: M. Sipser, The history and status of the P versus NP question, Proceedings of ACM STOC’92, pp. 603-618, 1992. Das Zitat von Steve Smale entstammt seinem Aufsatz “Mathematical problems for the next century” in dem von V. Arnold, M. Atiyah, P. Lax und B. Mazur im Auftrag der International Mathematical Union herausgegebenen Sammelband Mathematics: frontiers and perspectives, AMS 2000. Smale bezeichnet die Riemannsche Hypothese, die Poincar´ e-Vermutung und das P-versus-NP-Problem als die drei gro ¨ssten offenen Probleme der Mathematik, die denn auch in seiner Liste von 18 Problemen die ersten drei Pl¨ atze einnehmen. Tats¨ achlich meint Smale eine etwas andere, aber analoge Problemstellung als die des “P-versus-NP-Problems”, wie es in diesem Vortrag behandelt wird. Bei ihm geht es um den (komplexen) “Nullstellensatz”: mit welchem Aufwand kann man von einer endlichen Familie von multivariaten Polynomen mit kom-

1-2

plexen Koeffizienten entscheiden, ob sie eine gemeinsame komplexe Nullstelle haben. Die Frage nach einem Entscheidungsverfahren mit polynomialem Aufwand stellt er in einem anderen Berechnungsmodell, dem (um 1989 entstandenen) sogenannten Blum-Shub-Smale-Modell, als dem klassischen (Turing-) Modell, von dem in diesem Vortrag die Rede ist. Das “klassische” P-versusNP-Problem im Turing-Modell ist ¨ aquivalent zur Komplexit¨ at der Nullstellenfrage u ¨ber dem zweielementigen K¨ orper. Eine umfassende Darstellung der “kontinuierlichen” Komplexit¨ atstheorie des Blum-ShubSmale-Modells im Gegensatz zu dem “diskreten” Turing-Modell ist: L. Blum, F. Cucker, M. Shub, and S. Smale, Complexity and Real Computation. SpringerVerlag, 1998. Der Gerechtigkeit halber sollte man noch einen dritten alternativen Ansatz erw¨ ahnen, in dem sich ein “P versus NP Problem” stellt, n¨ amlich das Berechnungsmodell der p-Familien von multivariaten Polynomen von L. Valiant (entstanden um 1980). Daru ¨ber (und u ¨ber die Bezu ¨ge zu den vorgennten Modellen) kann man sich gut informieren in:

¨rgisser, Completeness and Reduction in P. Bu Algebraic Complexity Theory, Springer-Verlag, 2000.

1-3

¨ del (Brief an J. von Neumann, 1956) K. Go Wenn es eine Maschine mit ... g¨abe, h¨atte das Folgerungen von der gro ¨ssten Tragweite. Es wu ¨rde offenbar bedeuten, dass man trotz der Unl¨ osbarkeit des Entscheidungsproblems die Denkarbeit der Mathematiker bei ja-oder-nein-Fragen vollst¨andig (abgesehen von der Aufstellung der Axiome) durch Maschinen ersetzen ko ¨nnte. ... bedeutet, dass die Anzahl der Schritte gegenu ¨ber dem blossen Probieren von N auf log N verringert werden kann. So starke Verringerungen kommen aber bei anderen finiten Problemen durchaus vor, z.B. bei der Berechnung eines quadratischen Restsymbols durch wiederholte Anwendung des Reziprozit¨atsgesetzes. Es w¨are interessant zu wissen, wie es damit z.B. bei der Feststellung, ob eine Zahl Primzahl ist, steht und wie stark im allgemeinen bei finiten kombinatorischen Problemen die Anzahl der Schritte gegenu ¨ber dem blossen Probieren verringert werden kann.

2

Der Text ist ein Ausschnitt aus einem Brief von ¨ del an John von Neumann, datiert Kurt Go vom 20. M¨ arz 1956. G¨ odel und von Neumann geho ¨rten damals beide zum Advanced Study Institute in Princeton. Eine Reaktion seitens von Neumann ist nicht bekannt. Er war zu diesem Zeitpunkt schwer erkrankt (der Brief geht darauf ein) und starb kurz darauf. Die Frage, die G¨ odel in diesem Brief aufwirft, ist die nach der Effizienz logischer Deduktionsverfahren (N.B., die grundlegende Arbeit von S. Cook zur NP-Vollst¨ andigkeit besch¨ aftigt sich ebenfalls mit diesem Thema!). Damit st¨ osst er auf die Frage, fu ¨r welche Entscheidungsprobleme man den Aufwand gegenu ¨ber dem “blossen Probieren” um einen exponentiellen Sprung senken k¨ onne — Beispiele gibt in der Arithmetik. Das von ihm angeschnitte Problem der Komplexit¨ at des Testens der Primheit natu ¨rlicher Zahlen war bis zum August 2002 offen und ein Anlass fu aheres ¨r intensive Untersuchungen. N¨ dazu weiter unten. Interessant an G¨ odels Brief sind noch zwei weitere Aspekte: Zum einen erw¨ ahnt den lange Jahre in Erlangen als Ordinarius fu ati¨r Philosophie t¨ gen Paul Lorenzen mit seinen Bemu ¨hungen, die Analysis auf der verzweigten Typentheorie zu

begru odel ist aber trotz der von Loren¨nden. G¨ zen erzielten Erfolge skeptisch. Er glaubt, dass “in wichtigen Teilen der Analysis nicht eliminierbare impr¨ adikative Schlussweisen vorkommen”. Andererseits berichtet er, dass Richard Friedberg “Posts Problem” gel¨ ost habe. Es handelt sich hier um eine fundamentale Fragestellung der klassischen Theorie der Berechenbarkeit: gibt es zwischen der Klasse der rekursiven (= entscheidbaren) Probleme und der Klasse der zum Halteproblem ¨ aquivalenten partiell-rekursiven Probleme noch weitere “Unlo ¨sbarkeitsgrade”. E. Post hatte das vermutet, R. Friedberg hat dies positiv beantwortet. Die analoge “Postsche” Fragestellung im Bereich der Komplexit¨ atstheorie hat R. Ladner untersucht mit dem Resultat: wenn P nicht gleich NP ist, so gibt es tats¨ achlich auch Komplexit¨ atsklassen “zwischen” der Klasse P der effizient-entscheidbaren Probleme und der Klasse NPC der NP-vollst¨ andigen Probleme. Dies ist einer der wichtigsten Beitr¨ age zum P-versus-NPProblem, auf den weiter unten noch eingegangen wird. Der Brief von G¨ odel ist vollst¨ andig in Kopie der ¨ Handschrift (und Ubersetzung) in dem genannten Artikel von M. Sipser abgedruckt.

2-1

Instanz

Problem

Problem

endlicher Graph G

hat G einen Euler-Kreis?

hat G einen Hamilton-Kreis?

endlicher Graph G = (V, E) Kostenfunktion c : E → N

hat G ein Geru ¨st mit Kosten ≤ k?

hat G eine Rundreise mit Kosten ≤ k?

endlicher Graph G

hat G eine F¨ arbung mit 2 Farben?

hat G eine F¨ arbung mit 3 Farben?

a, b, c ∈ Z

hat a · x + b · y = c eine L¨ osung (x, y) ∈ Z2 ?

hat a · x2 + b · y = c eine L¨ osung (x, y) ∈ Z2 ?

Matrix A u ¨ber Z Vektor b u ¨ber Z

ist A · x ≤ b in Q l¨ osbar?

ist A · x ≤ b in Z l¨ osbar?

effizient entscheidbar: ja!

effizient entscheidbar: ??? eff. positiv-verifizierbar: ja! eff. negativ-verifizierbar: ??? vollst¨ andig: ja!

3

In dieser kleinen Zusammenstellung werden einige popul¨ are algorithmische Entscheidungsprobleme aufgefu ¨hrt, an denen die Begriffe der effizienten Entscheidbarkeit und der effizienten Verifizierbarkeit erl¨ autert werden. Die Gegenu ¨berstellung soll zeigen, dass Probleme trotz sehr ¨ ahnlicher Formulierung oder bei kleiner Variation der Parameter ihren Charakter bezu ¨glich schwierigkeit des entscheidens bzw.Verifizierens drastisch andern k¨ onnen — sowiet wir das bis heute wis¨ sen. Im einzelnen: 1. Die Behandlung des bekannten “K¨ onisgberger Bru ¨ckenproblems” durch L. Euler wird vielfach als Ursprung der Graphentheorie angesehen. Es geht dabei allgemein um die Frage, ob ein (ungerichteter) Graph G = (V, E) einen geschlossenen Weg besitzt, der jede Kante e ∈ E genau einmal benutzt. Dies l¨ asst sich leicht entscheiden: ein solcher EulerKreis existiert genau dann, wenn der Graph zusammenh¨ angend ist und wenn jeder Knoten mit einer geraden Anzahl von Kanten inzidiert. Ersteres l¨ asst sich durch systematische Exploration des Gra-

3-1

phen (z.B. Tiefensuche) leicht herausfinden, das Zutreffen des Parit¨ atsbedingung liest man aus einer der u ¨blichen Darstellung eines Graphen sofort ab. Die Frage, ob ein (o.B.d.A. zusammenh¨ angender) Graph einen Euler-Kreis hat, l¨ asst sich offensichtlich auch leicht positiv wie negativ verifizieren: • positiv: wenn ein Graph einen Euler-Kreis hat, so kann man die geforderte eigenschaft an einer geeigneten vorgelegten Kantenfolge leicht u ¨berpru ¨fen — aber die Erfu ¨llung des Euler-Kriteriums ist nat¨rlich auch eine Verifikation. • negativ: wenn ein Graph keinen Euler-Kreis hat, kann man das dadurch evident machen, dass man einen Knoten v ∈ V vorweist, der mit einer ungeraden Anzahl von Kanten verbunden ist. Ein Hamilton-Kreis in einem (zusammenh¨ angenden) Graphen G = (V, E) ist ein geschlossener Weg, der jeden Knoten

v ∈ V genau einmal benutzt (bis auf den Anfangs- und Endpunkt natu ¨rlich). Die popul¨ are Bezeichnung nach Sir W. Hamilton geht auf dessen Versuch zuru ¨ck, das Auffinden eines solchen Kreises in dem Dodekaedergraphen als Gesellschaftsspiel (A Journey Around the World, siehe die Beschreibung in Lucas, Recreations Math´ ematiques und eine Abbildung auf der Internet-Seite ...) zu vermarkten (was ihm angeblich keinen grossen Erfolg brachte). Im Gegensatz zur Situation bei den Euler-Kreisen kennt man bis heute kein entsprechendes numerisches oder sonst leicht u ¨berpru ¨fbares Kriterium, mit dem man die Frage nach der Existenz eines Hamilton-Kreises fu ¨r beliebige Graphen entscheiden k¨ onnte. Es bleibt einem im allgemeinen nur das systematische blosse Probieren aller M¨ oglichkeiten, wie es ¨ del angeprochen hat. Das schliesst Go nicht aus, dass es fu ¨r spezielle Klassen von Graphen durchaus effizientere Verfahren gibt — aber eben nicht allgemein anwendbare. Was nun das Verifizieren an-

3-2

geht, so stellt sich die Situation (bis heute) so dar: • positiv: wenn ein Graph einen Hamilton-Kreis hat, so kann man die geforderte eigenschaft an einer geeigneten vorgelegten Kantenfolge leicht u ¨berpru ¨fen. • negativ: es ist kein Verfahren bekannt, wie man die Tatsache, dass ein Graph keinen Hamilton-Kreis ¨ hat, durch “leichtes” Uberpr u ¨fen evident machen kann. 2. Eine Geru ¨st (oder spannender Baum) eine Graphen G = (V, E) ist ein Teilgraph G0 = (V, E 0 ) von G, also E 0 ⊆ E, der ein Baum ist (zusammenh¨ angend und kreisfrei). Ist c : E → N eine Gewichtung (Kostenfunktion) fu ¨r die Kanten von G, so ordnet kann man jedem Geru ¨st G0 von G die Summe seiner Kantengewichte zuordnen und dann nach einem Geru ¨st mit minimalen Kosten fragen. Dies ist eine klassisches diskretes Optimierungsproblem, das man mit sogenannten “gieri-

gen” (greedy) Verfahren (Prim, Kruskal u.v.a.m.) effizient l¨ osen kann. Interessant ist, dass die erfolgreiche Anwendung gieriger Verfahren eng mit dem mathematischen Aspekt der Matroidstruktur des Probleme zusammenh¨ angt. Da es in diesem Vortrag in erster Linie um Entscheidungs- und nicht so sehr um Optimierungsprobleme gehen, wurde mittels der Vorgabe einer Schranke k eine Formulierung als Entscheidungsproblem gew¨ ahlt — was keinen sehr grossen Unterschied macht, aber auf die Beziehungen zwischen den beiden Problemtypen soll hier nicht n¨ aher eingegangen werden. Ganz entsprechend kann man bei Vorliegen einer Kostenfunktion c fu ¨r einen Graphen G = (V, E) auch jeder Rundreise im Sinn eines Hamilton-Kreises die Summe der Kantengewichte als Kosten zuordnen. Das entsprechende Optimierungsproblem (Minimierung) ist dann das wohlbekannte Travelling Salesperson Problem (TSP), hier ebenfalls mittels einer Schranke k als ein Ent-

3-3

scheidungsproblem formuliert, was keinen grossen Unterschied macht. Es gibt bis heute, trotz intensivster Bemu ¨hungen, die mit dem offensichtlichen immensen Anwendunginteresse an der Optimierungsversion des TSP zu tun haben, kein effizientes Verfahren zur L¨ osung (Entscheidung oder Optimierung) des TSP. Trotz des Fortschritts, der auf den Internetseiten (...) eindrucksvoll dokumentiert wird, kennt man kein deterministisches Verfahren, das wesentlich besser als “blosses Probieren” abschneidet. Fu ¨r wirklich “grosse” Probleme muss man zu approximierenden, heuristischen Verfahren greifen, wenn man den Aufwand in vernu ¨nftigen Grenzen halten will. Ausdru ¨cklich soll darauf hingewiesen werden, dass sich bezu ¨glich der effizienten Verifikation das TSP ganz analog verh¨ alt, wie das Problem der Hamilton-Kreise • positiv: wenn ein TSP eine L¨ osung hat, also eine Rundreise mit Kosten ≤ k, so kann man diese

Tatsache an einer geeigneten vorgelegten Kantenfolge leicht u ¨berpru ¨fen. • negativ: es ist kein Verfahren bekannt, wie man die Tatsache, dass ein TSP keine L¨ osung hat, durch ¨ “leichtes” Uberpru ¨fen evident machen kann. 3. Das Problem der (Knoten-)F¨ arbung von Graphen G = (V, E) mit k Farben (die o.B.d.A. mit den Zahlen {1, 2, . . . , k} identifiziert werden) besteht darin herauszufinden, ob es eine Funktion f : V → {1, 2, . . . , k} gibt, fu ¨r die je zwei benachbarte Knoten verschiedene Farben erhalten: {u, v} ∈ E ⇒ f (u) 6= f (v). Auch dieses Problem hat mit dem beru ¨hmten Vierfarbenproblem historische Wurzeln. Es ist leicht zu sehen, wie sich der Fall k = 2 abhandeln l¨ asst: in der Sprache der Graphentheorie bedeutet 2-F¨ arbbarkeit bipartit, und diese Eigenschaft kann man dadurch charakterisieren, dass der

3-4

Graph keine Kreise ungerader L¨ ange hat — ein Kriterium, dass sich mit StandardExplorationsverfahren der Graphentheorie schnell u asst. ¨berpru ¨fen l¨ Bereits der Fall k = 3 (und damit auch jeder Fall mit k ≥ 3) ist aber schon problematisch: es sind fu ¨r beliebige Graphen keine Entscheidungsverfahren bekannt, die deutlich besser als “blosses” oder systematisches Probieren sind. DIe Aussagen u ¨ber die Verfifizierbarkeit u ¨bertragen sich von den Euler-Kreisen bzw. TSP in ganz analoger Weise auf das F¨ arbungsproblem. Es ist aber ganz interessant, das Vierfarbenproblem in diesem Zusammenhang anzusprechen: die alte Vermutung, erstmals bewiesen durch K. Appel und W. Haken, besagt, dass jeder planare Graph mit k = 4 Farben in zul¨ assiger Weise gef¨ arbt werden kann. In diesem Fall verh¨ alt sich das Entscheidungsproblem ganz einfach: die Antwort lautet immer “ja”. Der mathematische Satz, der dahinter steckt (und bis heute nur mit massiver

Computerunterstu ¨tzung bewiesen worden ist), ist seinerseits alles anderere als “einfach” und es gar nicht so ohne weiteres klar, wie man, trotz offensichtlicher positiver Antwort auf die Existenzfrage, eine konkrete 4-F¨ arbung bekommt. Fu ¨r planare Graphen ist also lediglich der Fall k = 3 interessant und es ist nicht schwierig zu zeigen, das die Ineffizienz des Falles k = 3 fu ¨r allgemeine Graphen nicht verschwindet, wenn man zu den planaren Graphen u ¨bergeht. Dieser Fall ist “genauso schwierig” wie der Fall allgemeiner Graphen. 4. Die Frage nach der ganzzahligen L¨ osbarkeit einer linearen Gleichung a·x+b·y =c l¨ asst sich bekanntlich mit Hilfe des Algorithmus von Euklid zur Berechnung gr¨ osster gemeinsamer Teiler beantworten, ein sehr effizientes Verfahren. Das bekannte 10. Problem von Hilbert, aquf das weiter unten noch eingegangen wird,

3-5

fragt ganz allgemein nach einer Methode, einem algorithmischen Verfahren, um die ganzzahlige L¨ osbarkeit polynomialer Gleichungen zu entscheiden — dass es ein solches Verfahren nicht geben kann, weiss man seit der negativen Antwort durch Matyiasevic. Wo genau die Grenze zwischen Entscheidbarkeit und Unentscheidbarkeit (im Bezug auf die Anzahl der Variablen und Polynomgrad) verl¨ auft, ist noch nicht gekl¨ art. Immerhin muss man damit rechnen, dass man den Bereich der effizienten Entscheidbarkeit bald verl¨ asst, wenn man den sicher Bereich linearer Gleichungen verl¨ asst. Dass dies bereits im allereinfachsten Fall, der in Frage kommt, n¨ amlich einer quadratischen Gleichung 2 a·x +b·y =c ¨ passiert, ist vielleicht eine Uberraschung. In der Tat hat dieses Problem den gleichen Status, die gleiche “Schwierigkeit”, wie die zuvor erw¨ ahnten “schwierigen” Problem — der Nachweis ist allerdings recht kompliziert.

5. Lineare Gleichungssysteme sind bekanntlich “leicht” l¨ osbar — zumindest, solange man L¨ osungen in R sucht. Schr¨ ankt man den Lo ¨sungsbereich auf ganzzahlige L¨ osungen ein, wird die Sache schon schwieriger. Vollends zeigt sich der Unterschied, der in der Natur der akzeptablen L¨ osungen liegen kann, wenn man lineare Ungleichungssysteme untersucht. Das ist die Situation der linearen Optimierung — als Entscheidungsproblem formuliert geht es darum, die Lo ¨sbarkeit (feasability) von Systemen linearer Ungleichungen zu untersuchen. Das Problem der L¨ osbarkeit in Q war lange offen, bis zuerst Khachian und dann Karmarkar zeigen konnten, dass man diese Frage effizient beantworten kann. Anders bei der Frage nach Lo ¨sbarkeit in Z: dieses Integer Programming-Problem der Diskreten Optimierung ist (wiederum die Einschr¨ ankung: bis heute) nicht als effizient l¨ osbar bekannt, auch wenn das fu ¨r viele prominente spezialf¨ allle (z.B. Flussprobleme in Netzwerken) zutrifft. Bei diesen Problemen mit linearen Glei-

chungen und Ungleichungen kommt u ¨ebrigens im Bezug auf das Verifizieren eine delikater Aspekt ins Spiel, der den graphentheoretischen Problemen abgeht: natu ¨rlich kann man von einer behaupteten L¨ osung eines Ungleichungssystems leicht nachrechnen, ob sie die Bedungungen erfu ¨llt. Schwierig ist die Frage, ob es, wenn es u osungen ¨berhaupt ganzzahlige L¨ gibt, auch L¨ osungen gibt, die “nicht zu gross” sind. (Was ein vertretbarer Aufwand fu ¨r eine Berechnung ist, wird ja in der Gr¨ osse des inputs gemessen, und das sind bei dem hier behandelten Problem die Koeffizienten des Ungleichungssystems und nicht die Koeffizienten der L¨ osung!) Tats¨ achlich ist das der Fall, aber das ist keineswegs leicht nachzuweisen! In der Tabelle steht bei den Problemen der rechten Spalte noch die Bemerkung “vollst¨ andig”. Dies besagt, dass alle diese Probleme “schwierigste” Probleme des hier zu behandelnden Typus sind. Diese Aussage wird deutlicher werden, sobald weiter unten das Konzept der Reduktion besprochen wird. Grob gesagt sind alle diese Proble-

3-6

me, so unterschiedlich sie ihrer Natur nach auch sein m¨ ogen, “¨ aquivalent” in dem Sinne: sobald man fu ¨r eines dieser Probleme einen effizientes Verfahren kennt, hat man automatisch effiziente Verfahren fu ¨r alle anderen Probleme — und umgekehrt: wird eines dieser probleme als “prinzipiell schwierig” (d.h. es kann keinen effizienten Algorithmus geben) nachgewiesen, u agt sich ¨bertr¨ das unmittelbar auf die anderen Probleme. Dabei stellen die fu ¨nf hier angesprochenen probleme nur einen kleinen Ausschnitt aus eine riesigen Spektrum von Problemen dar, die alle unter diese Aussage fallen.

3-7

effektiv versus effizient effektiv entscheidbar

:

in endlich-vielen Schritten ... → Rekursionstheorie Turing, Church, Kleene, ... ab ca. 1935

effizient entscheidbar

:

vernu osse ¨nftige Relation zwischen Problemgr¨ und Aufwand fu ¨r die Entscheidung → Komplexit¨atstheorie Ideen ab 1964: Cobham, Edmonds, Rabin Theorie ab 1971: Cook, Karp, Levin

4

A. Cobham, The intrinsic computational difficulty of functions, Proc. of the 1964 International Congress for Logic, Methodology, and the Philosophy of Science, edited by Y. BarHillel, North-Holland, 24-30, 1964.

up with the same well defined class of functions. Thus we can give a mathematical characterization of L, having some confidence that it characterizes correctly our informally defined class.

Thus the process of adding m and n can be carried out in a number of steps bounded by a linear polynomial in `(m)1 and `(n). Similarly, we can multiply m and n in a number of steps bounded by a quadratic polynomial in `(m) and `(n). So, too, the number of steps involved in the extraction of square roots, calculation of quotients, etc., can be bounded by polynomials in the lengths of the numbers involved, and this seems to be a property of simple function in general. This suggests that we consider the class, which I will call L, of all functions having this property. For several reasons the class L seems a natural one to consider. For one thing, if we formalize the above definition relative to various general classes of computing machines we seem always to end

J. Edmonds, Paths, trees, and flowers, Canadian Journal of Mathematics, 17, 449-467.

1 `(m) bezeichnet die L¨ange der Darstellung der Zahl m in einer Basis (dual, oktal, dezimal, . . . ), also log |m| (bis auf einen multiplikativen Faktor).

4-1

An explanation is due on the use of the words “efficient algorithm”. First, what I present is a conceptual description of an algorithm and not a particular formalized algorithm or “code”. For practical purposes computational details are vital. However, my purpose is only to show as attractively as I can that there is an efficient algorithm. According to the dictionary, “efficient” means “adequate in operation or performance”. This is roughly the meaning I want - in the sense that it is conceivable for maximum matching to have no efficient algorithm. Perhaps a better word is “good”. I am claiming, as a mathematical result, the existence of a good algorithm for finding a maximum cardinality matching m a graph.

te output, consisting of cost plus the desired result, for each member of a specified domain of inputs, the individual problems. The problem-domain of applicability for an algorithm often suggests for itself possible measures of size for the individual problems - for maximum matching, for example, the number of edges or the number of vertices in the graph. Once a measure of problem-size is chosen, we can define FA (N ) to be the least upper bound on the cost of applying algorithm A to problems of size N . When the measure of problem-size is reasonable and when the sizes assume values arbitrarily large, an asymptotic estimate of FA (N ) (let us call it the order of difficulty of algorithm A) is theoretically important. It cannot be rigged by making the algorithm artificially difficult for smaller sizes. It is one criterion showing how good the algorithm is not merely in comparison with other given algorithms for the same class of problems, but also on the whole how good in comparison with itself. There are, of course, other equally valuable criteria. And in practice this one is rough, one reason being that the size of

There is an obvious finite algorithm, but that algorithm increases in difficulty exponentially with the size of the graph. It is by no means obvious whether or not there exists an algorithm whose difficulty increases only algebraically with the size of the graph. The mathematical significance of this paper rests largely on the assumption that the two preceding sentences have mathematical meaning. I am not prepared to set up the machinery necessary to give them formal meaning, nor is the present context appropriate for doing this, but I should like to explain the idea a little further informally. It may be that since one is customarily concerned with existence, convergence, finiteness, and so forth, one is not inclined to take seriously the question of the existence of a better-than-finite algorithm. The relative cost, in time or whatever, of the various applications of a particular algorithm is a fairly clear notion, at least as a natural phenomenon. Presumably, the notion can be formalized. Here “algorithm” is used in the strict sense to mean the idealization of some physical machinery which gives a defini-

4-2

a problem which would ever be considered is bounded. It is plausible to assume that any algorithm is equivalent, both in the problems to which it applies and in the costs of its applications, to a “normal algorithm” which decomposes into elemental steps of certain prescribed types, so that the costs of the steps of all normal algorithms are comparable. That is, we may use something like Church’s thesis in logic. Then, it is possible to ask: Does there or does there not exist an algorithm of given order of difficulty for a given dass of problems? One can find many classes of problems, besides maximum matching and its generalizations, which have algorithms of exponential order but seemingly none better. An example known to organic chemists is that of deciding whether two given graphs are isomorphic. For practical purposes the difference between algebraic and exponential order is often more crucial than the difference between finite and non-finite. It would be unfortunate for any rigid criterion to inhibit the practical development of algorithms which are either not known or known

not to conform nicely to the criterion. Many of the best algorithmic ideas known today would suffer by such theoretical pedantry. In fact, an outstanding open question is, essentially: “how good” is a particular algorithm for linear programming, the simplex method? And, on the other hand, many important algorithmic ideas in electrical switching theory are obviously not “good” in our sense. However, if only to motivate the search for good, practical algorithms, it is important to realize that it is mathematically sensible even to question their existence. For one thing the task can then be described in terms of concrete conjectures. Fortunately, in the case of maximum matching the results are positive. But possibly this favourable position is very seldom the case. Perhaps the twoness of edges makes the algebraic order for matching rather special or matching in comparison with the order of difficulty for more general combinatorial extremum problems. M. O. Rabin, in: Mathematical theory of automata, Proceedings of 19th ACM Symposium in Applied Mathematics, 153-175, 1966.

4-3

We shall consider an algorithm to be practical if, for automata with n states, it requires at most c · nk (k is a fixed integer and c a fixed constant) computational steps. This stipulation is, admittedly, both vague and arbitrary. We do not, in fact cannot, define what is meant by a computational step, thus have no precise measure for the complexity of algorithms. Furthermore, there is no compelling reason to classify algorithms requiring c · nk steps as practical.

procedures, Proceedings of the 9rd Annual ACM Symposium on Theory of Computing, 151-158, 1971. Furthermore, the theorems suggest that tautologies is a good candidate for an interesting set not in L∗ and I feel that it is worth spending considerable effort trying to prove this conjecture. Such a proof would be a major breakthrough in complexity theory. R. M. Karp, Reducibility among combinatorial problems, in: Complexity of Computer Computations, Plenum Press, 85-103, 1972.

Several points may be raised in defense of the above stipulation. In every given algorithm the notion of a computational step is quite obvious. Hence there is not that much vagueness about the measure of complexity of existing algorithms. Another significant pragmatic fact is that all existing algorithms either require up to about n4 steps or else require 2n or worse steps. Thus drawing the line of practicality between algorithms requiring nk and aIgorithms for which no such bound exists seems to be reasonable.

A. Cook, The complexity of theorem proving

4-4

A large class of computational problems involve the determination of properties of graphs, digraphs, integers, arrays of integers, finite families of finite sets, boolean formulas and elements of other countable domains. Through simple encodings from such domains into the set of words over a finite alphabet these problems can be converted into language recognition problems, and we can inquire into their computational complexity. It is reasonable to consider such a problem satisfactorily solved when an algorithm for its solution

is found which terminates within a number of steps bounded by a polynomial in the length of the input. We show that a large number of classic unsolved problems of covering, matching, packing, routing, assignment and sequencing are equivalent, in the sense that either each of them possesses a polynomialbounded algorithm or none of them does. The main contribution of this paper is the demonstration that a large number of classic difficult computational problems, arising in fields such as mathematical programming, graph theory, combinatorics, computational logic and switching theory, are complete (and hence equivalent) when expressed in a natural way as language recognition problems.

the isomorphism of graphs, etc. All of these problems are solved by trivial algorithms entailing the sequential scanning of all possibilities. The operating time of the algorithm is, however, exponential, and mathematicians nurture the conviction that it is impossible to find simpler algorithms.

L. Levin, Universal sequential search problems, Probl. Pered. Inform. IX 3, 1973; translation in Problems of Information Transmission 9, 3, 5-266. This is the situation with so called exhaustive search problems, including: the minimization of Boolean functions, the search for proofs of finite length, the determination of

4-5

Aspekte der Formalisierung > (Entscheidungs-)Probleme gegeben durch Instanzenmengen A = (AJA , ANEIN ) > Instanzen in symbolischer/numerischer Codierung haben Gr¨ osse |a| = L¨ange der Codierung der Instanz a wichtig: Gr¨osse von n ∈ N ist |n| = log n > Berechnungsmodell (Maschine + Algorithmen) – uniform: Turing-Maschine, RAM, ... – nicht-uniform: Schaltkreise > Kostenmodell – uniform: Zeit, Speicherplatz, ... – nicht-uniform: Gatteranzahl, Schaltkreistiefe

5

Bei der Formalisierung unterstellt man, dass ein Problem und seine Instanzen (Terme, Formeln, Graphen, . . . ) in geeigneter Weise als W¨ orter (strings) u ¨ber einem endlichen Alphabet Σ codiert sind oder dass dies in vernu oglich ¨nftiger Weise m¨ ist, ohne es jedesmal im Detail auszufu ¨hren. Die Instanzenmengen AJA und ANEIN eines Problems A sind also Wortmengen, d.h. formale Sprachen, u ¨ber dem Alphabet Σ und in dieser Form werden sie als Eingabe fu ¨r ein algorithmisches Verfahren, z.B. eine Turing-Maschine, angesehen. Eine wichtige, aber meist unausgesprochen unterstellte Annahme ist, dass es leicht entscheidbar sein soll, ob ein Wort u ¨ber Σ u ¨berhaupt eine korrekte Instanz codiert oder nicht, also zu AJA ∪ ANEIN geh¨ ort oder nicht. Das eigentliche Entscheidungsoder Verifikationsproblem besteht darin, ob eine dermassen korrekte Codierung zu AJA oder zu ∪ANEIN geho ¨rt, also eine gefragte eigenschaft hat oder nicht. Ein besondere Aufmerksamkeit muss dem Auftreten von Zahlen als numerischen Werten (Koeffizienten, Schranken, . . . ) innerhalb der Instanzen eines Problems geschenkt werden. Im Rahmen der “diskreten” Komplexit¨ atstheorie spielen nur ganze Zahlen (und durch sie dargestellte “h¨ ohe-

re” Zahlobjekte, wie z.B. rationale Zahlen) eine Rolle. Dabei wird angenommen, dass dies, wie u ¨blich, mittels einer Zifferndarstellung bezu ¨glich einer Basis β ≥ 2 geschieht. Fu ¨r die Darstellung einer natu otigt man also logβ n ¨rlichen Zahl n ben¨ Ziffern, die Elemente des codierenden Alphabets Σ sind. Die hier interessierende Frage polynomialen Verhaltens eine Funktion oder polynomialer Abh¨ angigkeit wird durch die spezielle Wahl von β natu ¨rlich nicht beru ¨hrt — nur darf man (in der Regel) nicht die un¨ arer Codierung (Strichlisten) verwenden, ohne sich Ungemach einzuhandeln: der Sprung von log βn (fu ¨r β ≥ 2) und n selbst ist exponentiell! Problemcodierung erlaubt viele Variationen, ohne dass sich an den eigentlichen Ph¨ anomenen (z.B. Laufzeit eine Algorithmus) prinzipiell viel ver¨ andert. Generell muss man bei der Codierung (oder den impliziten Annahmen, wie das geschehen k¨ onnte) aber einige Vorsichtmassregeln beachten, um zu verhindern, dass Instanzen ku ¨nstlich zu gross gemacht. Wenn man Laufzeitschranken in Abh¨ angigkeit von der Instanzengr¨ osse untersucht, ger¨ at man in irrefu ¨hrende Situationen, wenn man z.B. die Instanzen “aufbl¨ ast” und relativ dazu die Laufzeit ku ¨nstlich klein wird.

5-1

Auf h¨ oherer Ebene stellt sich natu ¨rlich die Frage nach dem Berechnungsmodell, das man verwenden will. Fu ¨r die klassische (Church-Turing-) Berechenbarkeit gibt es sehr viele Variationen, die aquivalent in dem qualitativen Sinne sind, dass sie ¨ die gleiche Extension von “berechbare Funktion” beschreiben — das ist ja gerade das eindrucksvolle Fundament, auf das sich die Church-Turing These beruft. Betrachtet man Komplexit¨ aten (Laufzeiten, Verbrauch von Speicherplatz, . . . ), und die Frage der Effizienz, also den quantitativen Aspekt der Berechenbarkeit, so steht man im Einzelfall vor durchaus kniffligen Fragestellungen, wie sich etwa das Laufzeitverhalten in verschiedenen Modellen miteinander in Beziehung setzen l¨ asst. Die Unterscheidung zwischen “uniformen” Berechnungsmodellen (wie Turing-Maschine, Random-Access-Maschine usw.) und “nichtuniformen” Modellen (Schaltkreisen) ist eine kurze Bemerkung Wert: uniforme Modelle behandeln Eingabedaten beliebiger L¨ ange fu ¨r ein Problem immer mit der gleichen “hardware”, w¨ ahrend Schaltkreise fu ¨r Daten eines Problems, aber unterschiedlicher L¨ ange, ganz verschieden aufgebaut sein k¨ onnen. Schaltkreise haben in der Komplexit¨ atstheorie traditionell einen hohen

Stellenwert und ein besonderes Interesse besteht darin, z.B. Aussagen u ¨ber untere Schranken fu ¨r die Gr¨ osse oder Tiefe von Schaltkreisen fu ¨r ein spezielles Problem auf uniforme Berechnungsmodelle fu ¨r dieses Problem zu u ¨bertragen. Dies ist eine durchaus delikate Angelegenheit, fu ¨r die es keinen einfachen Mechanismus gibt.

5-2

Komplexit¨at von Algorithmen Ein (zeit-)effizienter Algorithmus M fu ¨r ein Entscheidungsproblem A = (AJA , ANEIN ) – entscheidet korrekt  1 falls a ∈ A JA ∀a ∈ A : M (a) = 0 falls a ∈ ANEIN – hat fu ¨r alle Instanzen a ∈ A eine polynomiale Laufzeit in |a|, d.h. es gibt ein Polynom p(x) mit ∀a ∈ A : timeM (a) ≤ p(|a|) NB: dies ist ein worst-case Szenario!

6

Die Fragestellung “P versus NP” basiert auf dem tun, dass sich die Klasse der Polynome in ihren Begriff des effizienten Algorithmus. Unter den Abschlusseigenschaften gutartig verh¨ alt (Provorher angedeuteten vernu dukt, Komposition). ¨nftigen Rahmenbedingungen (Berechnungsmodell, Problemcodierung) wird man ein algorithmisches Entscheidungsver- 3. Andererseits: es wird (aus dem gerade eben fahren fu erw¨ ahnten Grund!) keine Beschr¨ ankung fu ¨r ein Problem A = (AJA , ANEIN ) als ¨r den “effizient” bezeichen, wenn es immer eine korrekGrad der auftretenden Polynome angegeben; te (das sowieso!) Entscheidung trifft, wobei die Polynome h¨ oheren Grades als 3 oder 4 oder 5 Laufzeit polynomial von der Gr¨ osse der vorgeleg(etwa) du ¨rften den Praktiker, je nach Situation, ten Instanz abh¨ angt. Fu bereits an der “Effizienz” zweifeln lassen. ¨r diese Festlegung gibt es gute Gru ande ¨nde, aber schwerwiegende Einw¨ kann man auch machen — das sollte man nicht 4. Es ist aber schon auffallend, dass Algorithmen u fu ¨bersehen. Einiges davon ist in den obigen Origi¨r “natu ¨rliche” Probleme (also keine artifizielnalzitaten schon angesprochen worden. len Konstrukte) in aller Regel entweder eine polynomiale Laufzeit von niedrigem Grad haben (unterhalb von 10, beispielsweise) oder andern1. Die Festlegung reflektiert, vielleicht grob, aber falls superpolynomiales (selten) oder gar expoimmerhin, die praktischen Erfahrungen im Umnentielles Verhalten (oft) zeigen. Da scheint von gang mit Algorithmen und ihrer SkalierungseiNatur aus eine Lu ¨cke zu klaffen. genschaften in Abh¨ angigkeit von der Eingabegr¨ osse. 5. Man sollte beachten, dass man es mit einem worst-case Konzept zu tun hat: unter al2. Die Festlegung der Effizienz auf poynomialer len Eingaben fester L¨ ange wir der schlechteBasis ist robust gegen Variationen des Berechste Fall gemessen. Das kann unter praktischen nungsmodells und der Codierung, wenn man Effizienzerw¨ agungen sehr irrefu ¨hrend sein. Ein vernu alt. Das hat nicht ¨nftige Spielregeln einh¨ klassisches Beispiel zeigt sich beim beru ¨hmten zuletzt mit der mathematischen Tatsache zu

6-1

Simplex-Algorithmus der linearen Programmierung, der nach diesem Kriterium als “nichteffizient” einzustufen w¨ are, da Klee und Minty ganz spezielle Situationen mit exponentiellem Laufzeitverhalten haben konstruieren k¨ onnen — wogegen die Praktiker jahrzehntelang diesen Algorithmus als “effizientes Arbeitspferd” angeshen haben. Mit gutem Grund u ¨brigens, denn Smale und Borgwardt konnten in der Tat zeigen, dass dieser Algorithmus im Mittel (!) ein polynomiales Laufzeitverhalten von niedrigem Grad hat. (Ironischerweise kann man von dem ersten polynomialen Algorithmus (Khachian) fu ¨r die lineare Programmierung aus praktischer Erfahrung nicht behaupten, dass er “effizient” sei, obwohl ihm nach der offiziellen Nomenklatur dieses Pr¨ adikat zukommt.

6-2

Komplexit¨at von Problemen • effiziente Entscheidbarkeit: es gibt einen effizienten Algorithmus M , der A = (AJA , ANEIN ) entscheidet → P : polynomial time • effiziente (positive) Verfizierbarkeit: es gibt einen effizienten Algorithmus, der mittels geeigneter Zusatzinformation (Zeuge, Zertifikate) positive Instanzen erkennt, d.h. es gibt ein effizient entscheidbares Problem B = (BJA , BNEIN ) und ein Polynom q mit   a ∈ AJA ⇔ ∃y |y| ≤ q(|a|) ∧ ha, yi ∈ BJA → NP : nondeterministic polynomial time P und NP sind Komplexit¨atsklassen von Problemen. Diese Definitionen sind “robust” !

7

Das Konzept “Komplexit¨ at eines Algorithmus” ist deutlich zu unterscheiden von dem der “Komplexit¨ at eines Problems”. Bei letzterem spricht man implizit u ¨ner alle (unendlich vielen!) mo ¨glichen Algorithmen zur Entscheidung eines Problems (wenn es sich denn u ¨berhaupt um eine entscheidbares Problem handelt, was sowieso vorausgesetzt wird). Die Klasse P umfasst also alle diejenigen Entscheidungsprobleme, fu ¨r die es mindestens ein effizientes Entscheidungsverfahren gibt. Die Zugeh¨ origkeit eines Problems zur Klasse P wird man also in der Regel dadurch nachweisen, dass man einen konkreten Algorithmus zur L¨ osung des Problems angibt und fu ¨r diesen eine polynomiale Laufzeit im Sinne der Konventionen nachweist. Jeder solche Algorithmus liefert eine obere Schranke fu at, die ¨r die Laufzeitkomplexit¨ mit dem Problem verbunden ist. Etwas ganz anderes ist es dagegen, von einem Problem die Nicht-Zugeh¨ origkeit zur Klasse P zu zeigen - man hat es ja dann implizit mit allen m¨ oglichen Verfahren zur L¨ osung eines Problems zu tun. Die Situation ist ¨ ahnlich wie in der Theorie der Berechenbarkeit, wo es darum geht, die prinzipielle Unm¨ oglichkeit algorithmischer Verfahren fu ¨r bestimmte Probleme nachzu-

weisen. Die Technik der Diagonalisierung (Halteproblem!) und der Reduktion k¨ onnen bei dieser qualitativen Fragestellung leisten. Bei der quantitativen Fragestellung sieht es aber bis heute ganz anders aus: Verfahren, die es erm¨ oglichen, untere Schranken fu ¨r die Laufzeiten zu ermitteln, die von jedem Algorithmus fu ¨r ein Problem eingehalten werden mu ¨ssen, sind bislang viel zu schwach, um die Aussagen u ¨ber polynomial/nicht-polynomial machen zu ko ¨nnen. Die Komplexit¨ atsklasse NP wurde urspru ¨nglich mit Bezug auf das Berechnungsmodell der nichdeterministischen Turing-Maschine definiert, also einem Berechnungsverfahren, das wie eine TuringMaschine (oder eine Algorithmus im landl/¨ aufigen Sinn) arbeitet, wobei sich nun beim Erreichen gewisser Zust¨ ande Alternativen u ¨ber die Weiterfu onnen, ¨hrung des Verfahrens darbieten k¨ von denen in jedem konkreten Fall eine dieser M¨ oglichkeiten zuf¨ allig ausgew¨ ahlt wird. Fu ¨r jede einzelne Instanz (als Eingabe) bildet die Menge der m¨ oglichen Verl¨ aufe von Berechnungen einen Baum. Jede einzelne Berechnung ist ein Weg von der Wurzel bis zu einem Blatt, dabei gilt wiederum eine polynomiale (gemessen in der Ein-

7-1

gabegr¨ osse) Beschr¨ ankung fu ¨r die Laufzeit, die sich als Schranke fu ¨r die Tiefe des Baumes zeigt — die Instanz (die Eingabe) wird akzeptiert (als JA-Instanz erkannt), wenn mindestens eine dieser (exponentiell-vielen) Berechnungen zu einem positiven Entscheid fu ¨hrt. Man kann dieses Konzept der nichtdeterministischen Berechnungen (das aus theoretischer Sicht interessant ist, aber aus der Sicht von Anwendern vielleicht weniger Sinn macht) vermeiden, indem man sich direkt auf die soeben definierte Klasse P beruft. Ein Problem A geh¨ ort zu NP, wenn es ein Hilfsproblem B aus der Klasse P gibt, das die in der Formel angegebene Eigenschaft hat. Instanzen von B sind Paare ha, yi, bestehend aus Instanzen a von A und Zusatzinformationen y, die allerdings in ihrer L¨ ange polynomial beschr¨ ankt sein mu ¨ssen. a ist genau dann eine positive Instanz von A, wenn eine geeignete Zusatzinformtion, ein “Zeuge”, dies best¨ atigt, indem positiv u ¨berpru ¨ft wird, dass das Paar ha, yi zu B geh¨ ort. Man kann im Grund ein solches y als die Codierung einer erfolgreichen Berechnung auf einer nichtdeterministischen Turing-Maschine auffassen und sich somit von der Gleichwertigkeit beider Ans¨ atze u ¨berzeugen (auch wenn, wie

n den fru ¨heren Beispielen, die Zusatzinformation y zun¨ achst einmal von anderer Natur ist). Die polynomiale L¨ angenbeschr¨ ankung fu ¨r y reflektiert natu ankung fu ¨rlich gerade die Laufzeitbeschr¨ ¨r die nichtdeterministische Turing-Maschine. Die obigen Aussagen u ¨ber die Robustheit des Effiziensbegriffes u ¨bertragen sich auf die Klassen P und NP, so dass es sich um Konzepte handelt, die nicht an einem konkreten Maschinenmodell h¨ angen, auch wenn sie mit dessen Hilfe zun¨ achst definiert worden sind.

7-2

J. Edmonds Erl¨auterung von NP (1965) As the criterion of “good” for the characterization we apply the “principle of the absolute supervisor.” The good characterization will describe certain information about the number which the supervisor can require his assistant to search out along with a certificate and which the supervisor can then use “with ease” to verify with mathematical certainty that the number is indeed a prime. Having a good characterization does not mean necessarily that there is a good algorithm. The assistant may have to kill himself with work to find the information and the certificate.

8

Die fundamentalen Probleme • aus der Definition folgt P ⊆ NP, aber gilt P = NP oder P ( NP ? ?

also: effizient verifizierbar ⇒ effizient entscheidbar • Komplementierung: ist A = (ANEIN , AJA ) effizient verifizierbar, falls A = (AJA , ANEIN ) effizient verifizierbar? – offensichtlich A ∈ P =⇒ A ∈ P aber ?

A ∈ NP =⇒ A ∈ NP – unmittelbare Folgerung NP 6= co-NP =⇒ P 6= NP co-NP = {A ; A ∈ NP} 9

Daß das Problem, die Primzahlen von den zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren zu zerlegen, zu den wichtigsten und auch nu ¨tzlichsten der ganzen Arithmetik geho ¨rt und den Fleiß und die Weisheit der Geometer der Antike und der Neuzeit besch¨aftigt hat, ist so bekannt, daß es u ¨berflu ¨ssig ist, viel daru ¨ber zu sagen C. F. Gauß, Disquisitiones Arithmeticae, Art. 329 (1801)

10

Wie das oft reprodizierte Zitat von C.F. Gauss belegt, ist Problem, von natu ¨rlichen zu entscheiden, ob sie Primzahlen sind oder nicht, sowie die Aufgabe, natu ¨rliche Zahlen in ihre Primfaktoren zu zerlegen, von fundamentaler Bedeutung. Neben den “klassischen” zahlentheoretischen Aspekten ist in neuerer Zeit das komplexit¨ atstheoretische Interesse an diesen Fragestellungen stark in den Vordergrund getreten. In der Kryptographie h¨ angen Sicherheitsaussagen von Systemen h¨ aufig mit der (nachweisbaren oder wenigstens vermuteten) Schwierigkeit zusammen, arithmetische Aufgaben wie das Faktorisieren (Umkehrung der Multiplikation) oder das Berechnen diskreter Logarithmen (Umkehrung der modularen Exponentiation, siehe folgende Liste) effizient zu erledigen. Daru ¨ber hinaus leben einige Kryptosysteme von der Voraussetzund, dass es m¨ oglich ist, sich grosse (das kann beispielsweise heissen: 200 Dezimalstellen) Primzahlen ohne grossen Aufwand zu verschaffen. Auf den folgenden Seiten soll deshalb auf das Entscheidungsproblem des Testens der Primheit natu ¨rlicher Zahlen eingegangen werden, wegene der angedeuten Wichtigkeit fu ¨r Anwendungen, aber auch, weil die daran einige Begriffe der Kom-

plexit¨ atstheorie sch¨ on illustrieren lassen, insbesondere auch das Wesen von NP. Wie die nachfolgende kleine Aufstellung zeigt, sind die elementaren arithmetischen Operationen wie: Multiplikation, Division (mit Rest), modulare Exponentiation und viele andere damit zusammenh¨ angende Operationen wie die Berechnung gr¨ osster gemeinsamer Teiler und modularer Inverser (dank euklidischem Algorithmus) effizient durchf/u ¨hrbar in dem Sinne, dass die Laufzeit auf einer Turing-Maschine oder jedem anderen u ¨blichen Maschinenmodell polynomial in der Eingabel¨ ange ist, wobei hier ganz wesentlich ist, dass die L¨ ange der Zifferdarstellung das Mass fu ¨r die eingabel¨ ange einer natu ¨rlichen Zahlen ist.

10-1

Komplexit¨at einiger arithmetischer Operationen Multiplikation Division mit Rest Exponentiation

(a, b) 7→ a · b (a, b) 7→ (ba/bc, a mod b) (a, n, q) 7→ an mod q

11

O(log a · log b) O(log b · logba/bc) O(log n · log2 q)

Prim = Menge der Primzahlen

N ∈ Prim ⇔ ∀a





1 Fermat N ∈ Prim ⇒ ∀a ∈ Z∗N : aN −1 ≡ 1 mod N liefert (h¨aufig, nicht immer) Zeugen fu ¨r Zusammengesetztheit > Lucas N ∈ Prim ⇔ ∃a ∈ Z∗N

⇔ ∃a ∈ Z∗N



∃a ∈ Z∗N

 aN −1 ≡ 1 mod N : an 6≡ 1 mod N (∀n : 1 ≤ n < N )  aN −1 ≡ 1 mod N : an 6≡ 1 mod N (∀n : n|N − 1)  aN −1 ≡ 1 mod N : a(N −1)/p 6≡ 1 mod N (∀p : p ∈ Prim ∧ p|N − 1)

15

Primes ∈ NP (2) > Ein Zertifikat fu ¨r die Primheit einer natu ¨rlichen Zahl N besteht aus – a ∈ Z∗N mit aN −1 ≡ 1 mod N – Zahlen p1 , . . . , pr , e1 , . . . , er mit N − 1 = pe11 · · · perr und – a(N −1)/pi 6≡ 1 mod N (1 ≤ i ≤ r) – Zertifikaten dafu ¨r, dass die p1 , . . . , pr Primzahlen sind > per Induktion: ein Zertifikat fu ¨r N l¨asst sich mit O(log3 N ) arithmetischen Operationen auf Zahlen der L¨ange O(log N ) auf “Echtheit” u ¨berpru ¨fen V. Pratt (1975): Every prime has a succinct certificate

16

– 3−1=2=2 – 2 ist Primzahl – 22 ≡ 1 , 21 ≡ 2 mod3

Hier zun¨ achst ein kleines Beispiel fu ¨r die Prattsche Verifikationsmethode, ein etwas umfangreicheres folgt dann: • 79 ist Primzahl, denn es gilt

d.h. C(3) = [ 2 ; − ; 2 ] ist ein Prim-Zertifikat fu ¨r 3.

– 79 − 1 = 78 = 2 · 3 · 13 – 2, 3 und 13 sind Primzahlen 78

78/2

– 3 ≡ 1 , 3 ≡ 78 , 3 78/13 23 , 3 ≡ 18 mod 79

78/3



Beispiel: Bei dem Versuch, die Zahl 2

d.h. C(79) = [ 2 · 3 · 13 ; C(3), C(13) ; 3 ] ist ein Prim-Zertifikat fu ¨r 79.

214

+ 1 = (2

107

−2

54

+ 1) · (2

107

+2

54

+ 1)

zu faktorisieren, findet man 2

• 13 ist eine Primzahl, denn es gilt

107

−2

54

+ 1 = 5 · 857 · M ,

wobei M eine 29-stellige Zahl ist: 2

– 13 − 1 = 12 = 2 · 3

M = 37866809061660057264219253397

– 2 und 3 sind Primzahlen – 212 ≡ 1 , 26 ≡ 12 , 24 ≡ 3 mod 13

die keine “kleinen” Primfaktoren Fermat-Tests, wie z.B.

d.h. C(13) = [ 22 · 3 ; C(3) ; 2 ] ist ein Prim-Zertifikat fu ¨r 13. • 3 ist Primzahl, denn es gilt

3

M −1

enth¨ alt.

≡ 1 mod M

suggerieren, daß M Primzahl ist. Der Beweis, daß dies tats¨ achlich gilt, enth¨ alt folgenden Teilbeweis:

16-1

• N = 1653701519 ist Primzahl, denn: N − 1 = 2 · 7 · 19 · 23 · 137 · 1973 , 7 ♦ ♦ ♦ ♦ ♦ ♦

2 7 19 23 137 1973

ist ist ist ist ist ist

Primzahl Primzahl Primzahl Primzahl Primzahl Primzahl

und und und und und und

7(N −1)/2 7(N −1)/7 7(N −1)/19 7(N −1)/23 7(N −1)/137 7(N −1)/1973

N −1

≡ ≡ ≡ ≡ ≡ ≡

≡ 1 mod N und

1653701518 mod N 356579618 mod N 120777631 mod N 1080868740 mod N 101758286 mod N 1287679432 mod N

• 1973 ist Primzahl, denn: 1972 = 2 · 2 · 17 · 29, 3

1972

≡ 1 mod 1973 und

2 ist Primzahl und 31972/2 ≡ 1972 mod 1973 17 ist Primzahl und 31972/17 ≡ 273 mod 1973 29 ist Primzahl und 31972/29 ≡ 934 mod 1973

♦ ♦ ♦ • 137 ist Primzahl, denn:

136 = 2 · 2 · 2 · 17 , 3 ♦ ♦

136

≡ 1 mod 137

und

2 ist Primzahl und 3136/2 ≡ 136 mod 137 17 ist Primzahl und 3136/17 ≡ 122 mod 13

16-2

• 29 ist Primzahl, denn: 28 = 2 · 2 · 7 , 2 ♦ ♦

• 11 ist Primzahl, denn: 28

≡ 1 mod 29 und

10 = 2 · 5 , 2

2 ist Primzahl und 228/2 ≡ 28 mod 29 7 ist Primzahl und 228/7 ≡ 16 mod 29

22 = 2 · 11 , 5 ♦ ♦

• 7 ist Primzahl, denn:

22

≡ 1 mod 22 und

6

6 = 2 · 3 , 3 ≡ 1 mod 7 und

2 ist Primzahl und 522/2 ≡ 22 mod 23 11 ist Primzahl und 522/11 ≡ 2 mod 23

• 19 ist Primzahl, denn: 18 = 2 · 3 · 3 , 2

≡ 1 mod 11 und

2 ist Primzahl und 210/2 ≡ 10 mod 11 5 ist Primzahl und 210/5 ≡ 4 mod 11

♦ ♦

• 23 ist Primzahl, denn:

10

♦ ♦

2 ist Primzahl und 36/2 ≡ 6 mod 7 3 ist Primzahl und 36/3 ≡ 3 mod 7

• 5 ist Primzahl, denn: 18

≡ 1 mod 19 und

4

4 = 2 · 2 , 2 ≡ 1 mod 5 und ♦ ♦

2 ist Primzahl und 218/2 ≡ 18 mod 19 3 ist Primzahl und 218/3 ≡ 7 mod 19



2 ist Primzahl und 24/2 ≡ 4 mod 5

• 3 ist Primzahl, denn:

• 17 ist Primzahl, denn: 16 = 2 · 2 · 2 · 2 , 3



16

2

2 = 2 , 2 ≡ 1 mod 3 und

≡ 1 mod 17 und

2 ist Primzahl und 316/2 ≡ 16 mod 17



16-3

2 ist Primzahl und 22/2 ≡ 2 mod 3

Als “Zertifikate” geschrieben: C(1653701519)

=

[ 2 · 7 · 19 · 23 · 137 · 1973 ; C(7), C(19), C(23), C(137), C(1973) ; 7 ]

C(1973)

=

[ 2 · 17 · 29 ; C(17), C(29) ; 3 ]

C(137)

=

[ 2 · 17 ; C(17) ; 3 ]

C(29)

=

[ 2 · 7 ; C(7) ; 2 ]

C(23)

=

[ 2 · 11 ; C(11) ; 5 ]

C(19)

=

[ 2 · 3 ; C(3) ; 2 ]

C(17)

=

[2 ; − ; 3]

C(11)

=

[ 2 · 5 ; C(5) ; 2 ]

C(7)

=

[ 2 · 3 ; C(3) ; 3 ]

C(5)

=

[2 ; − ; 2]

C(3)

=

[2; − ; 2]

2

3

2

2

4

2

16-4

Zum aktuellen Stand: – Es gibt einen effizienten deterministischen Primzahltest (O(log5 N )) unter der “erweiterten Riemann-Hypothese” (Miller) – Es gibt sehr schnelle (O(log3 N )) “probabilistische” Primzahltests (Miller/Rabin, Strassen/Solovay) – Es gibt sehr gute Primzahltests, z.B. APR mit det. Laufzeit O((log N )c·log log log N ) ECPP mir erwarteter Laufzeit O(log6+ N ) 12 ˜ – Seit August 2002 ist ein effizienter (O(log N )) Primzahltest bekannt

Agarwal, Kayal, Saxena : Primes is in P

17

Effektives Entscheiden und Verifizieren — eine Rekapitulation • Ru ¨ckblick zu Hilberts 10. Problem: gesucht war ein Verfahren, um von Polynomen aus Z[X1 , X2 , . . . , XN ] in endlich-vielen Schritten zu entscheiden, ob sie eine Nullstelle in Zn haben. • “Verfahren” = Algorithmus: pr¨azisiert durch A. Church, A. Turing (1936) ... um nachzuweisen, dass “Beweisbarkeit” nicht entscheidbar ist. • effektiv entscheidbare (= rekursive) Mengen (R)  1 falls x ∈ A A entscheidbar ⇔ ex. Algorithmus M mit M (x) = 0 falls x ∈ /A • Komplementierung: A ∈ R ⇔ A ∈ R

18

• effektiv-verifizierbare (= partiell-entscheidbare = partiell-rekursive) Mengen (RE)  1 falls x ∈ A A partiell-entscheidbar ⇔ ex. Algorithmus M mit M (x) = ↑ falls x ∈ /A • “Zeugeneigenschaft”: A ∈ RE ⇔

 es gibt ein B ∈ R mit x ∈ A ↔ ∃y hx, yi ∈ B

• RE ∩ co-RE = R • Halteproblem (Diagonalisierung!)  HP = hM, xi ; M Algorithmus, x Input, M (x) ↓ ∈ RE \ R zeigt R ( RE, also auch RE 6= co-RE 19

Auf den vorangegangenen Seiten wurden die Grundbegriffe der klassischen Rekursionstheorie, ¨ del, Church, wie sie seit den Arbeiten von Go Turing, Kleene, und vielen anderen seit den 1930’er Jahren entwickelt wurde. Ausgangspunkt fu azisierung des ¨r die Bemu ¨hungen um eine Pr¨ Algorithmenbegriffes waren Fragestellungen der Logik, insbesondere Hilberts Entscheidungsproblem, wie es insbesondere in (...) vorgetragen wurde. Aber auch das von einer rein algebraischen Fragestellung ausgehende 10. Problem von Hilbert verdient dabei ein besonderes Interesse, weil an ihm die Bedeutung der neu geschaffenen Begriffe der effektiv-entscheidbaren (= rekursiven) und effektiv-verifizierbaren (= partiellentscheidbaren = partiell-rekursiven = rekursivaufz¨ ahlbaren) Menge bzw. Relation beispielhaft erl¨ autert werden k¨ onnen. In diesem klassischen Kontext sind die effektiv-verifizierbaren Menge (Probleme1 ) gerade diejenigen, fu ¨r deren Elemen-

te es “Zeugen” im effektiven, aber nicht notwendigerweise effizienten Sinne gibt. Das fundamentale Resultat der klassischen Rekursionstheorie besagt, dass die Begriffe “effektiventscheidbar” und “effektiv-verifizierbar” nicht gleichwertig sind, dass also fu ¨r die entsprechenden Problemklassen die strikte Inklusion P ( RE gilt. Dies wird mittels einer Diagonalisierung, die dem Cantorschen Beweis der Nicht-Anz¨ ahlbarkeit der Menge der reellen Zahlen nachgebildet ist, am speziellen Fall des Halteproblems HP gezeigt. Wegen der eher einfach zu treffenden Feststellung, dass RE ∩ co−RE = R gilt, hat man als weitere wichtige unmittelbare Konsequenz, dass der Begriff der effektiven Verifizierbarkeit nicht stabil unter Komplementierung ist!

1 Wie in der Literatur werden hier “Probleme” mit Teilmengen der nat¨ urlichen Zahlen identifiziert, eine Problem A in diesem traditionellen Sinne w¨ are in der weiter vorne eingef¨ uhreten Terminologie also als ein Paar (A, N \ A) zu schreiben), aber das ist un¨ ublich und wird deshalb auch an dieser Stelle nicht gemacht — in der Annahme, dass dies keine Verwirrung verursacht.

19-1

• Reduktion von Mengen def

A ≤m B ⇐⇒

 ∃ berechenbare Funktion f : N → N mit x ∈ A ↔ f (x) ∈ B

• Folgerungen aus A ≤m B B ∈ RE ⇒ A ∈ RE B∈R

⇒ A∈R

• Vollst¨andigkeit des Halteproblems fu ¨r RE fu ¨r alle A ∈ RE gilt A ≤m HP und viele weitere interessante Probleme B ∈ RE mit HP ≤m B

20

Der n¨ achste grundlegende Begriff der Rekursionstheorie ist der Begriff der Reduktion, der es erlaubt, verschiedene Probleme bezu ¨glich der Eigenschaften entscheidbar und verifizierbar miteinander in Beziehung zu setzen. Die hier gegebene Definition bezeichnet man als many-one Reduktion (weil sie durch eine nicht notwendigerweise injektive Funktion vermittelt wird), es ist der am einfachsten zu handhabende Reduktionsbegriff — dagegen gibt es noch die Turing-Reduktion und weitere Konzepte, was hier aber ohne Belang ist. Anschaulich hat man sich unter einer Reduktionsbeziehung A ≤m B vorzustellen, dass das Problem B mindestens so schwierig ist wie das Problem A, weil man Fragen nach der Zugeh¨ origkeit zu A per Reduktionsfunktion f “leicht” (hier: “effektiv”) in Fragen nach der Zugeh¨ origkeit zu B transformieren kann — aber nicht notwendigerweise umgekehrt. Im u ¨brigen definiert man mit ≤m eine transitive Relation zwischen Mengen (Problemen), da die Menge der berechenbaren Funktionen unter Komposition abgeschlossen ist. Gilt sowohl A ≤m B als auch B ≤m A, so wird man A und B (beziu ¨glich dieses Reduktionskonzeptes) als ¨ aquivalent betrachten. Fu ¨r die ¨ Aquivalenzkalssen bezu ¨glich ≤m hat man die Be-

zeichnung Unl¨ osbarkeitsgrade (degrees of unsolvability) gepr¨ agt. Die angegebenen Folgerungen aus der Reduktionbeziehung zwischen zwei Mengen verwendet man natu aufig im kontrapositiven Sinne: ¨rlich h¨ A∈ / RE A∈ /R

⇒ ⇒

B∈ / RE B∈ /R

falls A ≤m B gilt. Damit kann man also insbesondere die Nicht-Entscheidbarkeit und auch die Nicht-Verifizierbarkeit von Mengen nachweisen Unmittelbar mit dem Begriff der Reduktion ist der Begriff der Vollst¨ andigkeit verknu ¨pft. Ganz allgemein kan man sich unter einem vollst¨ andigen Problem innerhalb einer Klasse von Problemen, fu ¨r die es ein Reduktionskonzept gibt, eine “schwierigstes” Problem vorstellen, und zwar in dem Sinne, dass jedes Problem der Klasse auf dieses eine Problem reduziert werden kann. Alle vollst¨ andigen Probleme einer Klasse, wenn es den u ¨berhaupt 1 welche gibt , sind ¨ aquivalent. 1 Das muss nicht unbedingt bei jedem Reduktionskonzept und jeder Problemklasse Fall sein!

20-1

Es ist nicht schwer einzusehen, dass das Halteproblem HP in der Klasse tats¨ achlich ein vollst¨ andiges Problem bezu ¨glich der many-one Reduktion ≤m ist, also das (oder besser gesagt: ein) schwierigstes Problem in der Klasse RE der effektivverifizierbaren Probleme. Daneben gibt es viele weitere interessante Probleme mit diesem Status. Aus der Sicht der Informatik zeigt, sich, dass praktisch alle semantischen (!) Eigenschaften von Computerprogrammen Probleme dieser Art darstellen (Theorem von Rice). Die skizzierten Resultate zeigen, dass es min¨ destens zwei verschiedene Aquivalenzklassenklassen bezu ¨glich ≤m innerhalb der Klasse RE gibt: die Klasse R der effektiv-entscheidbare Probleme, sowie die Klasse aller bezu andi¨glich ≤m vollst¨ gen Probleme in RE, also der Klasse der zu HP aquivalenten effektiv-verifizierbaren, aber nicht ¨ effektiv-entscheidbaren Probleme, die man mit REC (fu onnte, die ¨r “RE-complete”) bezeichnen k¨ 0 u ¨bliche Terminologie ist aber O (und O fu ¨r R, wenn man von Unl¨ osbarkeitsgraden spricht). Das im Zusammenhang mit dem eingangs zitierten ¨ del erw¨ Brief von K. Go ahnte Problem von E. Post fragt, ob es “zwischen” der minimalen Klasse R und der maximalen Klasse REC noch weiter

Klassen gibt (und wenn ja, was die Struktur dieser partiellen Ordnung ist). In der Tat hat R. Friedman gezeigt, dass es weitere Klasse gibt, und in der Folge hat sich herausgestellt, dass die partielle Ordnung eine sehr reichhaltige Struktur hat.

20-2

• Hilberts 10. Problem wird beantwortet durch A ∈ RE ⇔ A diophantisch Davis, Putnam, Robinson, Matiyasevich

A diophantisch ⇔

 ∃f ∈ Z[X, Y , . . . , Y ] mit 1 n x ∈ A ↔ ∃y1 , . . . yn f (x, y1 , . . . , yn ) = 0

21

Der Nachweis, dass das algorithmische Konzept der effektiv-verifizierbaren Menge und das algebraische Konzept der diophantischen Menge in ihrer extension zusammenfallen, kann sicher las eines der herausragenden Ergebnisse der Mathematik des 20. Jahrhunderts angesehen werden. Sieht man sich die Definition einer diophantischen Menge an, so zeigt die existentielle Quantifizierung u ¨ber eine effektiv, ja sogar effizient entscheidbare Relation (“hat ein Polynom fu ¨r ein gegebenes Argument eine Nullstelle?”) sofort eine Richtung der Implikation: jede diophantische Menge ist effektiv-entscheidbar. Die umgekehrte Aussage ist das eigentlich Erstaunliche und auch schwierig zu Beweisende! Diese Tatsache, dass sich alle effektiv-verifizierbaren Ph¨ anomene in polynomialer Form codieren lassen, hat so verblu ¨ffende Folgerungen (beispielsweise: man kann ein konkretes Polynom angeben, dessen positive Werte fu ¨r ganzzahlige Argumente genau die Primzahlen sind), dass man ein solches Resultat lange nicht erwartet hatte. Eine der unmittelbaren Folgerungen aus der polynomialen Charakterisierung effektiv-verifizierbarer Mengen ist die Aussage, dass es kein effektives Verfahren geben kann, dass von beliebigen Poly-

nomen (in mehreren Variablen und mit ganzzahligen Koezffizienten) entscheidet, ob sie eine ganzzahlige Nullstelle haben oder nicht — Hilberts 10. Problem hat also eine negative Antwort gefunden. Auch diese negative Antwort hat ihrerseits vielerorts (meist als negativ empfundene) Konsequenzen: so ist beispielsweise das Problem, die semantische Gleichheit von Termausdru ¨cken festzustellen, in vielen Kalku ¨len prinzipiell unentscheidbar, was insbesondere die Unm¨ oglichkeit von allgemeinen automatischen Simplifikationsalgorithmen in Systemen der Computeralgebra.

21-1

Diagonalisation is good at creating monsters. An amazing fact: Interesting problems have monsters sitting inside them. E. Allender

22

Das Zitat von E.Allender soll die Erfahrung zu Ausdruck bringen, die man in vielen Situationen gewonnen hat, wo man die Methode der Diagonalisierung als Beweismittel eingesetzt hat — die Aussagen u ¨ber das Halteproblem zu Unterscheidung der Begriffe effektive entscheidbar und effektiv verifizierbar sind ein prototypischer Fall: das konkrete Problem, mit dem man umgeht, HP etwa, mag aus “praktischer” Sicht nicht unbedingt eine faszinierendes oder Objekt sein, es hat durchaus etwas Monstr¨ oses an sich, indem es mit alle m¨ oglichen Berechnungen zu tun hat (und wegen eben dieser Allgemeinheit eine widerspruchstr¨ achtige Selbstreferenz zul¨ asst). Das wirklich Interessante ist das Ph¨ anomen, dass man von ganz allt¨ aglichen, nicht ku ¨nstlich-konstruierten Problemen Nachweise der Unm¨ oglichkeit oder Schwierigkeit fu ¨hren kann, indem man (per Reduktion!) nachweist, dass auch diese Probleme solche “monstr¨ osen” Objekte in sich bergen.

22-1

Reduktion und Vollst¨andigkeit fu ¨r NP – Reduktion von Problem A = (AJA , ANEIN ) auf Problem B = (BJA , BNEIN ):     ∃f (effizient berechenbare Funktion) mit def A ≤pm B ⇔ x ∈ AJA → f (x) ∈ BJA    x ∈ ANEIN → f (x) ∈ BNEIN – ≤pm ist transitiv – aus A ≤pm B und B ∈ P folgt A ∈ P

23

Fu ankte ¨r effiziente, also polynomailzeit-beschr¨ Berechnungen definiert man einen Reduktionsbegriff ganz analog , wie fu ¨r effektive Berechnungen. Generell orientieren sich die Begriffsbildungen ganz deutlich an denen der klassischen Rekursionstheorie, nur kommen jetzt eben quantitative ¨ Konzepte und Uberlegungen hinzu. Klar ist, dass man in den eine Reduktion realisierende Funktionen selber nicht allzu viel Rechenaufwand “verstecken” darf, wenn das Reduktionskonzept das leisten soll, was man von ihm erwartet: A ≤p m B soll ja besagen, dass “B mindestens so schwierig ist wie A”, dass man die Zugeh¨ origkeit x zu A effizient dadurch entscheiden kann, indem man die Zugeh¨ origkeit von f (x) zu B effizient entscheidet. Der Aufwand fu ¨r das Berechnen von f (x) aus x muss dem untergeordnet sein. Dass dies so funkioniert und dass ≤p m eine transitive Relation ist, hat natu ¨rlich mit der fundamentalen Tatsache zu tun, dass die Klasse der Polynome unter Komposition (Substitution) abgeschlossen ist. Tats¨ achlich war die so definierte polynomialzeitbeschr¨ ankte many-one Reduktion ≤p m nicht der erste Reduktionsbegriff in diesem Bereich. In der grundlegenden Arbeit

Stephen A. Cook, The complexity of theoremproving procedures. In: Conference Record of Third Annual ACM Symposium on Theory of Computing, pages 151–158, Shaker Heights, Ohio, 3-5 1971. verwendet der Autor einen der klassischen TuringReduktion entsprechenden Reduktionsbegriff, der heute u ¨blicherweise als Cook-Reduktion bezeichnet wird. Der polynomialzeit-beschr¨ ankte manyp one Reduktion ≤m , wie hier definiert, wurde in der zweiten grundlegenden Arbeit Richard M. Karp, Reducibility among combinatorial problems. In: R. E. Miller and J. W. Thatcher, editors, Complexity of Computer Computations, pages 85–103, New York, 1972. Plenum Press. eingefu ¨hrt und wird heute als Karp-Reduktion bezeichnet. Auf die subtilen Unterschiede hier nicht eingegangen werden. Nur soviel sei gesagt: die Cook-Reduktion unterscheidet nicht zwischen einem Problem und dem dazu komplement¨ aren Problem, ist also als Differenzierungsmittel ungeeignet, wenn es um Komplementierungsfragen geht.

23-1

Vollst¨andigkeit in NP • (zeit-)beschr¨anktes Halteproblem BHP   M Algorithmus     x Input hM, x, #t i :   #t = ## . . . # Zeitvorgabe    | {z } t

mit M (x) ↓ in ≤ t Schritten • BHP ist vollst¨andig fu ¨r NP: fu ¨r alle A ∈ NP : A ≤pm BHP

24

Die zentrale Rolle des Halteproblems im Bereich der klassischen Rekursionstheorie wird hier — erwartungsgem¨ ass — von dem “zeitbeschr¨ ankten Halteproblem” BHP (bounded halting problem) eingenommen. Die JA-Instanzen dieses Problems bestehen aus Codierungen von Algorithmen M (etwa in der Form von Turing-Maschinen), Eingaben x und einer un¨ ar (!!) codierten Laufzeitvorgabe t, wobei Algorithmus M bei Eingabe x in maximal t Schritten h¨ alt und ein Ergebnis liefert. Dass dieses BHP ein fu ¨r die Klasse NP p andiges Probezu ¨glich der ≤m -Reduktion vollst¨ blem ist, kann man bei genauem Hinsehen fast aus den Definitionen ablesen. Diese Beobachtung fu ¨r sich allein ist keineswegs u ¨berraschend oder gar aufregend. Der wesentliche Erkenntnissprung besteht darin, dass unspru ¨nglich in ganz anderem Kontext (Logik, Kombinatorik, Optimierung,...) auftretende Probleme exakt den gleichen Status wie das BHP haben.

24-1

Gegenu ¨berstellung der effektiven und effizienten Verifikationseigenschaften

A ∈ RE ⇐⇒

A ∈ NP

  ex. B ∈ R mit  x ∈ A ↔ ∃y hx, yi ∈ B

⇐⇒

A ≤m HP

⇐⇒

  ex. B ∈ P, q Polynom, mit    x ∈ A ↔ ∃y |y| ≤ q(|x|) ∧ hx, yi ∈ B

⇐⇒

A ≤pm BHP

25

Diese Gegenu ¨berstellung soll ganz deutlich die Gemeinsamkeiten in der “Zeugen”-Definition der Klassen RE und NP hervorheben. Das dru ¨ckt sich formal in einer existentiellen Quantifizierung u ¨ber eine Relation aus R beziehungsweise P aus, wobei naturgem¨ ass im effizienten Fall verlangt werden muss, dass die Zeugen y nicht unangemessen (suoer-polynomial oder gar exponentiell) gr¨ osser sein du ¨rfen als die Instanzen, deren Eigenschaft sie bezeugen.

25-1

NPC = NP-complete : die Klasse der “schwierigsten” NP-Probleme – Definition B ∈ NPC ⇔ ∀A ∈ NP : A ≤pm B – fast unmittelbare Folgerung aus der Definition BHP ∈ NPC – der Ausgangspunkt fu ¨r interessante Probleme (Cook, Levin) Satisfiability (Sat) = Erfu ¨llbarkeit aussagenlogischer Formeln ∈ NPC

26

Die Definition der der Klasse NPC der NPvollst¨ andigen Probleme, also der “schwierigsten” Probelme innerhalb der Klasse NP der effizient verifizierbaren Probleme, ist zwangsl¨ aufig — und diese Definition ist nicht leer, da, wie erw¨ ahnt, das beschr¨ ankte Halteproblem BHP dazugeh¨ ort. Als zentrales Problem dieser Klasse muss man aber das Problem Satisfiability (oder kurz Sat, eine genauere Formulierung folg etwas sp¨ ater) der Erfu ¨llbarkeit aussagenlogischer Formeln ansehen. Folglich beginnt die Geschichte des “P versus NP” Problems eigentlich mit der Erkenntnis, dass dieses universell verwendbare Problem vollst¨ andig in der Klasse NP ist. Man kann das so sehen: jedes kombinatorische, zahlentheoretische, ... Problem, dessen innere Struktur reichhaltig genug ist, um die Aussagenlogik und die elemetare Frage nach der Erfu ¨llbarkeit aussagenlogischer Formeln zu codieren, wird — wenn es denn zur u ¨berhaupt zu NP geh¨ ort, was aber in der Regel leicht abzukl¨ aren ist — ein NP-vollst¨ andiges Problem sein. Die Technik der Reduktion dient genau diesem Nachweis.

unabh¨ angig davin, in der fru ¨heren UdSSR von L. Levinerzielt wurden: Leonard Levin, Universal search problems (in Russisch). Problemy Peredachi Informatsii, 9(3):265-266, 1973. ¨ Englische Ubersetzung in B. A. Trakhtenbrot, A survey of Russian approaches to Perebor (bruteforce search) algorithms. Annals of the History of Computing, 6 (1984), 384-400.

Der historischen Gerechtigkeit halber muss erw¨ aht werden, dass diese grundlegenden Einsichten von Cook und Karp in etwa zur gleichen Zeit, aber

26-1

– Gewinnung weiterer NP-vollst¨andiger Probleme fu ¨r A ∈ NPC, B ∈ NP gilt A ≤pm B =⇒ B ∈ NPC – das Wichtige an der Vollst¨andigkeit   A ∈ P fu ¨r ein A ∈ NPC  (d.h. P ∩ NPC 6= ∅)   A∈ / P fu ¨r ein A ∈ NPC  (d.h. NPC * P)

    

=⇒ P = NP

=⇒ P ∩ NPC = ∅



– entsprechend    A ∈ NP fu ¨r ein A ∈ co-NPC    (d.h. NP ∩ co-NPC 6= ∅)

27

=⇒ co-NP = NP

Die hier gemachten Aussagen ergeben sich unmittelbar aus dem konzeptuellen Aufbau der Angelegenheit, es sind also keine Resultate, die man beweisen mu ¨sste. Aber es handelt sich inhaltlich doch um spektakul¨ are Aussagen, um die das Interesse an der ganzen Fragestellung kreist. Deshalb sollen diese Aussagen noch einmal in Prosa wiederholt und erl¨ autert werden. 1. Um von einem Problem B nachzuweisen, dass es NP-vollst¨ andig ist, muss man in der Regel zwei Dinge tun: (a) nachweisen, dass es zur Klasse NP geh¨ ort (das wird meist, nicht immer, wenig schwierig sein, wenn es denn zutrifft); (b) ein bereits als NP-vollst¨ andig erkanntes Problem A auf B reduzieren (das kann eine sehr knifflige Angelegeheit sein).

Tausende von NP-vollst¨ andigen Problemen bekannt, mehr daru ¨ber weiter unten. Darunter sind zahlreiche Probleme von grossem prakischen Interesse, u ¨ber die man gerne Klarheit h¨ atte: lassen sie sich effizient l¨ osen oder ist das prinzipiell unm¨ oglich. Wu ¨rde es gelingen, auch nur fu ¨r ein einziges dieser NP-vollst¨ andigen Problem ein effizientes Entscheidungsverfahren zu finden, so w¨ are mit der der daraus folgenden Aussage P = NP gezeigt, dass alle effizient verifizierbaren Probleme ebenalls effiziente Entscheidungsverfahren besitzen. Mittels der Reduktionen, die alle diese NPC-Probleme untereinander verbinden, k¨ onnte man aus einem effizienten Algorithmus auch tats¨ achlich effiziente Algorithmen fu ¨r alle Probleme generieren. In diesem Fall gibt es bezu ¨glich der ≤p mReduktion innerhalb der Klasse NP nur eine ein¨ zige Aquivalenzklasse.

Gelingt nur der Nachweis des zweiten Punktes, dass bezeichnet man B als ein NP-hartes Pro3. Umgekehrt: gelingt es von einem einzigen NPblem. Problem nachzuweisen, dass es dafuu ¨r kein effezientes Entscheidungsverfahren geben kann, so 2. Es sind bis heute, je nachdem wie fein man vergilt diese Aussage fu ¨r jedes NPC-Problem. Die wandte Probleme unterscheidet, Hunderte oder

27-1

Klassen P und NP sind in diesem Falle disjunkt! (Es gibt also in NP zumindestens diese beiden ¨ Aquivalenzklassen bezu ¨glich der ≤p m -Reduktion — tats¨ achlich mu ¨sste es dann noch weitere geben, das Postsche Problem h¨ atte also in diesem Kontext eine positive L¨ osung, siehe weiter unten). 4. Alle bislang bekannten NPC-Problem, die ja effizient verifierbar sind, haben die Eigenschaft, dass von dem zu ihnen komplement¨ aren Problem nicht bekannt ist, ob es ebenfalls effizient verifizierbar ist, also zu NP geh¨ ort. Intuitiv erscheint das plausibel, denn es ist nicht klar, wie Zeugen fu ¨r das Nichtvorhandensein eine gewissen Eigenschaft aussehen k¨ onnten — man denke an die eingangs diskutierten Beispiele! Andererseits mahnt der Fall der Primheit zur Vorsicht — auch wenn er durch den Nachweis von Primes ∈ P seine Erkl¨ arung gefunden hat. Wu ¨rde es gelingen, das Komplement eines einzigen NPC-Problems als effizient-verifizierbar nachzuweisen, so w¨ aren alle Komplemente von NPC-Problemen als effizient verifizierbar erkannt und die Klassen NPC wu ¨rde mit der ihrer Komplemente zusammenfallen.

27-2

Dieses letzterw¨ ahte Szenario mu ¨sste noch keineswegs P = NP, obwohl umgekehrt trivialerweise — weil ja P stabil unter Komplementierung ist — aus P = NP auch co-NP = NP folgt.

zeitbeschr¨ankte TM-Berechnungen

BHP ⇓

Domino-Parkettierungen

Domino ⇓

Erfu ¨llbarkeit von AL-Formeln

Satisfiability ⇓

F¨arbungen von Graphen

Colorability ⇓

Nullstellen von Polynomen

Algebraic Equations

28

An einer Reihe von Beispielen soll Reduktionen zwischen NP-Problemen wenigstens anschaulich dargestellt werden — die genaue Ausfu ¨hrung kann im Detail dan durchaus noch Anstrengungen erfordern. Alle diese Reduktionen sind in der Tat ≤p m -Reduktionen, was aber ebenfalls nicht detailliert ausgefu ¨rht werden soll. Mit etwas Erfahrung auf dem Gebiet kann man sich leicht mit Plausibilit¨ atsbetrachtungen helfen. Die Konstruktionen, um die es geht, sind in der Regel sehr “lokaler” Natur, wenn man akzeptiert, dass al¨ le diese lokalen “Ubersetzungen” von einem Problem in das andere algorithmisch leichtg zu bewerkstellugen sind, hat man nur noch darauf zu ¨ achten, das dieser Ubersetzungsprozess die jeweiligen Objekte (Instanzen) nicht u ¨ber Gebu ¨hr ver¨ gr¨ ossert. Die schon fru ¨her angedeuteten Uberlegungen, wie man mathematische Objekte ad¨ aquat mittels W¨ ortern codiert, spielen da natu ¨rlich wieder mit hinein. All dies sind Aspekte der technischen Durchfu ¨hrung, die an dieser Stelle stillschweigend u ¨bergangen werden sollen. Das zentrale Problem, weil in seiner Flexibilit¨ at idealer Ausgangspunkt fu ¨r Reduktionen, ist das Erfu ¨llbarkeitsproblem fu ¨r aussagenlogische For-

meln, mit Satisfiability oder abgeku ¨rzt mit Sat bezeichnet. Aussagenlogisch Formeln sind in der bekannten Weise aufgebaut aus Variablen und der Junktoren der Konjunktion (∧), Disjunktion (∨) und Negation (¬). Dazu treten noch die Konstanten > fu ¨r den Wahrheitswert “wahr” und ⊥ fu ¨r den Wahrheitswert “falsch”. Fu ankt ¨r die hier anstehenden Betrachtungen schr¨ man die Menge der zu betrachtenden Formeln meist noch etwas ein, indem man sich nur auf Formeln in der sog. Klauselform bezieht: dies sind Formeln, geschrieben als Konjunktionen von Klauseln, wobei jede Klausel eine Disjunktion von Literalen ist. Als Literale wiederum bezeichnet man die Variablen X und deren Negation ¬X, oft, wie in der Folge auch hier, als X geschrieben.1 Jede Boolesche Funktion l¨ asst sich mit Hil2 fe einer Formel in Klauselform darstellen, so dass die Beschr¨ ankung auf diesen Formeltyp keine Einschr¨ ankung fu ahigkeit darstellt. ¨r die Audrucksf¨ 1 Manche Autoren bezeichnen dies irref¨uhrenderweise als “konjunktive Normalform”, abgek¨ urzt Cnf, und sprechen dann von dem Problem CnfSat.

2 Nur als Hinweis: nat¨urlich k¨onnte man dual auch Disjunktionen

von Konjunktionsklauseln betrachten, aber f¨ ur diesen Formeltyp ist die Frage der Erf¨ ullbarkeit ziemlich uninteressant!

28-1

aussagenlogische Erfu ¨llbarkeit (> = true, ⊥ = false) F ≡ (X2 ∨ ¬X4 ) ∧ (¬X1 ) ∧ (X1 ∨ X2 ∨ X3 ∨ X4 ) ∧ (¬X3 ∨ X4 ) ist erfu ¨llbar mittels X1 ← ⊥, X2 ← >, X3 ← ⊥, X4 ← ⊥: F (⊥, >, ⊥, ⊥) = >

G ≡ (X1 ) ∧ (¬X1 ∨ X2 ) ∧ (¬X1 ∨ ¬X3 ) ∧ (¬X2 ∨ X3 ) ist nicht erfu ¨llbar: G(x) = ⊥ fu ¨r alle x ∈ {>, ⊥}4

29

Das (aussagenlogische) Erfu ¨llbarkeitsproblem > (Cnf-)Satisfiability – Instanzen: aussagenlogische Formel in Klauselform ^   F (X1 , X2 , . . . , Xn ) = Yi,1 ∨ Yi,2 ∨ · · · ∨ Yi,ni 1≤i≤k

mit Yi,j ∈ {X1 , . . . , Xn , X1 , . . . , Xn } – Problem: gibt es eine F erfu ¨llende Belegung der Variablen mit Wahrheitswerten, d.h. mit B = {⊥(= false), >(= true)}, ist ∃x = (x1 , x2 , . . . , xn ) ∈ B n : F (x) = > wahr? > Formel zeigt: Satisfiability ∈ NP

30

Eine eingeschr¨ankte Version von Satisfiability > 3-Sat – Instanzen: aussagenlogische Formeln in Klauselform mit maximal 3 Literalen pro Klausel ^ F (X1 , . . . , Xn ) = (Ui ∨ Vi ∨ Wi ) 1≤i≤k

mit Ui , Vi , Wi ∈ {X1 , . . . , Xn , X1 , . . . , Xn } – Problem: wie bei Satisfiability > 3-Sat ∈ NP > jede Instanz von Satisfiability kann “leicht” in eine erfu ¨llungs-¨aquivalente Instanz von 3-Sat transformiert werden Satisfiability ≤pm 3-Sat

31

Bei dem Problem Satisfiability geht es also darum, ob es eine Belegung der Variablen mit Wahrheitwerten gibt, die die vorgelegte Formel wahr macht. Natu ¨rlich ist das ein ein effektiv entscheidbares Problem, aber bei n Variablen w¨ aren n im ungu ogliche Kandidaten zu ¨nstigsten Fall 2 m¨ u ¨berpru ¨fen. Jede erfu ¨llende Belegung der Variablen w¨ are ein Zeuge fu ¨r die Erfu ¨llbarkeit, so dass die Zugeh¨ origkeit von Satisfiability zu NP ausser Frage steht. Aber kann es auch ein Verfahren zum Testen der Erfu ¨llbarkeit geben, das signifikant besser ist als das “blosse Probieren” — genau das ist die crux des “P versus NP” Problems! Wie man die NP-Vollst¨ andigkeit von Satisfiability zeigt, wir weiter unten angedeutet. Dabei werden nur aussagenlogische Formlen in Klauselform eine Rolle spielen, so dass sich die NP-Vollst¨ andigkeitsaussage fu ¨r Satisfiability zun¨ achst einmal auf diesen Typ von Formel bezieht. Aber damit gilt die entsprechende Aussage sofort auch fu ¨r die Klasse aller aussagenlogischen Formeln — eine effizientes Entscheidungsverfahren fu ¨r beliebige AL-Formeln mu ¨sste ja fu ¨r jeden Fall das Gewu ¨nschte leisten. Anders ist es natu ankt. ¨rlich, wenn man den Formeltyp einschr¨ Fu ¨r manche Reduktionen, die von der Erfu ¨ll-

barkeit aussagenlogischer Formeln ihren Ausgang nehmen, ist es bequem, noch eine weitere strukturelle Einschr¨ ankung voraussetzen zu k¨ onnen: maximal (oder genau) drei Literal pro Klausel. Man man bezeichnet das Erfu ¨llbarkeitsproblem fu ¨r Formeln dieser Bauart als 3-Sat-Problem. Da ist erst einmal nicht klar, ob sich damit etwas an der Schwierigkeit des Problems ¨ andert.1 Der Beweis, dass auch das stark eingeschr¨ ankte Problem 3-Sat immer noch zu NPC geh¨ ort, soll hier skizziert werden, weil er ein einfaches Beispiel fu ¨r eine Reduktion bietet: man muss sich nur u ¨berlegen, wie man jede Klausel L1 ∨ L2 ∨ · · · ∨ Lk mit k ≥ 4 Literalen Li durch eine Menge von Klauseln mit jeweil 3 Literalen ersetzen kann, wobei die neue Menge von Klauseln genau dann erfu ¨llbar ist, wenn es die urspru ¨ngliche Klausel 1 Der Vollst¨andigkeit und Vorsicht halber sei darauf hingeweisen: betrachtet man Formeln mit maximal zwei Literalen pro Klausel, so ist das Erf¨ ullbarkeitsproblem effizient entscheidbar, da es sich mit einem einfachen graphentheoretischen Suchverfahren beantworten l¨ asst: 2-Sat ∈ P.

31-1

war.2 Zu diesem Zweck fu ¨hrt man (fu ¨r jede Klausel der urspru ¨nglichen Formel separat) neue Variable Z1 , Z2 , . . . , Zk−3 ein und konstruiert die k − 2 Klauseln

melmenge ist zwar gr¨ osser geworden, aber in einem sehr beschr¨ ankten und leicht zu bestimmenden Umfang.

L1 ∨ L2 ∨ Z1 L3 ∨ Z1 ∨ Z2 L4 ∨ Z2 ∨ Z3 . . . Lk−2 ∨ Zk−4 ∨ Zk−3 Lk−1 ∨ Lk ∨ Zk−3 ¨ Es ist eine leichte Ubung nachzuweisen, dass diese Konstruktion bezu ¨glich der Erfu ¨llbarkeit das Gewu ¨nschte leistet. Andererseits ist diese Konstruktion “leicht” auszufu ¨hren und die neue For2 Es handelt sich also in der Tat um eine Konstruktion, die eine ¨ Aquivalenz bez¨ uglich der Erf¨ ullbarkeit sicherstellt. Es wird nicht behauptet (und w¨ are auch nicht zutreffend), dass die alte Klausel und die neue Klauselmenge logisch ¨ aquivalent im u ¨blichen Sinne sind.

31-2

B

B

C

A

A

A

B

B

B

A A

C C

A A

C B B

A

A A A

C C B B

A B B C

A A

A A

C

B

B

B B

A

32

A

C

A

A A

A

A

C

B

A

A

B

A

A B

A

C A

B A

C

A

B A

Dominos α, β, γ mit n(α) = A

e(α) = B

s(α) = C

w(α) = A

n(β) = A

e(β) = A

s(β) = A

w(β) = B

n(γ) = C

e(γ) = A

s(γ) = A

w(γ) = B

33

Das (beschr¨ankte) Dominoproblem > Domino – Instanzen: endliche Menge D von Dominos, Parameter k – Problem: l¨asst sich ein k × k-Quadrat mit Dominos aus D korrekt parkettieren? > Logische Formulierung: ist die Formel ∃ δi,j ∈ D (1 ≤ i, j, ≤ k) : ^ ^ e(δi,j ) = w(δi,j+1 ) ∧ s(δi,j ) = n(δi+1,j ) 1≤i ⇔ Domino δ in Position (i, j) – in Position (i, j) liegt genau ein Domino δ ∈ D ! _ ^  Pi,j ≡ Xi,j,δ ∧ Xi,j,δ ∨ Xi,j,δ0 δ6=δ 0 ∈D

δ∈D

– horizontale Vertr¨aglichkeit Hi,j ≡

^

Xi,j,δ ∨ Xi,j+1,δ0

δ,δ 0 ∈D e(δ)6=w(δ 0 )

- vertikale Vertr¨aglichkeit Vi,j ≡

^

Xi,j,δ ∨ Xi+1,j,δ0

δ,δ 0 ∈D s(δ)6=n(δ 0 )

35

– die Formel FD,k ≡

^ 1≤i,j≤k

^

Pi,j ∧

1≤i,j 3-Colorability : speziell mit k = 3 > Colorability, 3-Colorability ∈ NP > Reduktion 3-Sat ≤pm 3-Colorability

37

Reduktion 3-Sat ≤pm 3-Colorability am Beispiel: F ≡ (X1 ∨ X2 ∨ ¬X3 ) ∧ (X1 ∨ ¬X2 ∨ X3 )

GF

Erfu ¨llbarkeit von F ⇔ 3-F¨arbbarkeit von GF 38

x1

x1

x1

x2

x1

x2

x1

x3 x2

x1

x2

x2

x1

x3

x1

x2 x3

x3

x3 x3

x2

x3

x3

x

1

x

2

x

1

x

2

x1

1

x2

x

3

x2

1

2

x

x2

x1

x

x

x

x2

x1 x3

x1 x3

3

x3

x

3 x3

x

3

x

2

38-1

x2

Nullstellensatz (k K¨orper) > Algebraic equations (k) – Instanzen: Polynome f1 , . . . , fr ∈ k[X1 , . . . , Xn ] – Gibt es eine gemeinsame Nullstelle, d.h. x = (x1 , . . . , xn ) ∈ k n mit fi (x) = 0 (1 ≤ i ≤ n) ? > Unterscheide F¨alle wie k = C und k = F2

39

Reduktion 3-Colorability ≤pm Algebraic Equations(C) – G = (V, E) endlicher Graph – fu ¨r jeden Knoten v ∈ V : Variable Xv (u ¨ber C) – Polynome − fu ¨r jeden Knoten v ∈ V : Polynom fv = Xv3 − 1 − fu ¨r jede Kante e = {u, v} ∈ E : Polynom ge = Xu2 + Xu Xv + Xv2 – “Farben” ≡ Wurzeln von X 3 = 1 : { 1, e2πi/3 , e4πi/3 } – Reduktion  die Polynome {f } u u∈V ∪ {ge }e∈E G ist 3-f¨arbbar ⇔ haben eine gemeinsame Nullstelle u ¨ber C

40

SATISFIABILITY

0-1 INTEGER PROGRAMMING

CLIQUE

SATISFIABILITY with at most 3 literals per clause CHROMATIC NUMBER

NODE COVER

SET PACKING EXACT COVER

CLIQUE COVER

SET COVERING STEINER TREE DIRECTED HAMILTONIAN CIRCUIT

3-dimensional MATCHING

KNAPSACK

HITTING SET

FEEDBACK ARC SET FEEDBACK NODE SET

SEQUENCING

UNDIRECTED HAMILTONIAN CIRCUIT

PARTITION

MAX CUT

41

• aus der NPC-Liste von Karp: Satisfiability, 0-1 Integer Programming, Clique, Set Packing, . . . , Hamiltonian circuit, . . . , 3-Satisfiability, Chromatic Number, . . . , Knapsack,. . . • prominentes Beispiel aus co-NPC: Tautology • Am Ende seiner Arbeit Reducibility among Combinatorial Problems schreibt Karp: We conclude by listing the following important problems in NP which are not known to be complete. – Graph Isomorphism – Nonprimes (= Composite Numbers) – Linear Programming

42

Was liegt “zwischen” P und NPC? Ein Theorem von R. Ladner (1975) P 6= NP =⇒ NPC ( NP \ P Die Probleme Graph Isomorphism, Composite, Linear Programming waren “natu ¨rliche Kandidaten” , aber • Linear Programming ∈ P (Khachiyan 1979, Karmarkar 1984) • Composite ∈ P (AKS, 2002)

43

Die Bilanz: • Garey, Johnson (1979): Computers and Intractability: A Guide to the Theory of NP-Completeness Hunderte von Problemen aus Graphentheorie, Netzwerktheorie, Mengensysteme, Speicherorganisation, Scheduling, Optimierung, Algebra, Zahlentheorie, Spiele, Logik, Automaten, Formale Sprache, Programmierung, ... • Bis heute: Tausende von NPC-Problemen in verschiedensten Bereichen, vom Ising-Problem u ¨ber Proteinfaltung bis ... Tetris

44

Einsichten, Ausblicke, Auswege, Spekulationen, ... • Wie ko¨nnte man P = NP beweisen? – P-Algorithmus fu ¨r ein NPC-Problem – nichtkonstruktiver Nachweis? • Wie k¨onnte man P 6= NP beweisen? – Diagonalisierung, Relativierung (??) – untere Komplexit¨atsschranken fu ¨r Schaltkreise, Beweissysteme – endliche Modelltheorie (deskriptive Charakterisierungen) – Algebraisierung – Bezu ¨ge zu “benachbarten” Berechungsmodellen (BSS, Valiant) • Spekulation: Unabh¨angigkeit von ZFC? • potentielle Auswirkungen von P = NP bzw. P 6= NP (Kryptographie, Automatisches Beweisen) 45

• Sind alle NPC-Probleme “gleich”? – die Isomorphievermutung – Approximation von NPC-Optimierungsproblemen • Wie kann man “praktisch” mit NPC-Problemen umgehen? – bessere Abgrenzung der problematischen Situationen – bessere worst-case-Algorithmen – average-case Analyse – parametrisierte Komplexit¨at – randomisierte Algorithmen – heuristische Methoden (neuronale Netze, simulated annealing, genetische Algorithmen) – ganz andere Wege (DNA-computing, Quantencomputing, ...)

46

Spekulative Meinungsumfrage ACM SIGACT News Complexity Theory Column 36 (2002) This problem is (at the moment) very unique since we seem to be missing even the most basic understanding of its difficulty. A. Razborov This shouldn’t really be a hard problem; it’s just that we came late to this theory, and haven’t yet developed any techniques for proving computations to be hard. Eventually, it will be just a footnote in the books. J. Conway

47

No true substantial progress towards P vs. NP is visible in the last 30 years since NP-completeness was formulated. I am pessimistic about its quick resolution any time soon. This is not necessarily a bad thing. Look at the Riemann Hypothesis. Jin-yi Cai

48

Kommentare, Referenzen, Hinweise zur Literatur odel and John von Neu1. Der Brief von Kurt G¨ mann datiert vom 20. M¨ arz 1956. Go ¨del und v. Neumann geh¨ orten damals beide zum Advanced Study Institute in Princeton. Eine Reaktion auf den Brief seitens v. Neumann scheint nicht bekannt zu sein. Er war zu diesem Zeitpunkt schwer erkrankt (der Brief geht darauf ein) und starb kurz darauf. Die Frage, die G¨ odel in diesem Brief aufwirft, ist die nach der Effizienz logischer Deduktionsverfahren (N.B., die grundlegende Arbeit von S. Cook zur NP-Vollst¨ andigkeit besch¨ aftigt sich ebenfalls mit diesem Thema!). Damit st¨ osst er auf die Frage, fu ¨r welche Entscheidungsprobleme man den Aufwand gegenu ¨ber dem “blossen Probieren” um einen exonne — Beispieponentiellen Sprung senken k¨ le gibt in der Arithmetik. Das von ihm angeschnitte Problem der Komplexit¨ at des Testens der Primheit/Zusammengesetztheit natu ¨rlicher Zahlen war bis zum August 2002 offen und ein Anlass fu aheres ¨r intensive Untersuchungen. N¨ dazu weiter unten. Interessant an G¨ odels Brief sind noch zwei Aspekte:

48-1

Zum einen erw¨ ahnt den lange Jahre in Erlangen als Ordinarius fu atigen Paul ¨r Philosophie t¨ Lorenzen mit seinen Bemu ¨hungen, die Analysis auf die verzweigte Typentheorie zu begru ¨nden. G¨ odel ist aber trotz der von Lorenzen erzielten Erfolge skeptisch. Er glaubt, dass “in wichtigen Teilen der Analysis nicht eliminierbare impr¨ adikative Schlussweisen vorkommen”. Andererseits berichtet er, dass Richard Friedberg “Posts Problem” gel¨ ost habe. Es handelt sich hier um eine fundamentale Fragestellung der klassischen Theorie der Berechenbarkeit: gibt es zwischen der Klasse der rekursiven (= entscheidbaren) Probleme und der Klasse der zum Halteproblem aquivalenten partiell-rekursiven Probleme noch ¨ weitere “Unl¨ osbarkeitsgrade”. E. Post hatte das vermutet, R. Friedberg hat dies positiv beantwortet. Die analoge “Postsche” Fragestellung im Bereich der Komplexit¨ atstheorie hat R. Ladner untersucht mit dem Resultat: wenn P nicht gleich NP ist, so gibt es tats¨ achlich auch Komplexit¨ atsklassen “zwischen” der Klasse P der effizient-entscheidbaren Probleme und der Klasse NPC der NP-vollst¨ andigen Probleme. Dies ist einer der wichtigsten Beitr¨ age zum P-versusNP-Problem. Siehe auch:

Der Brief von K. G¨ odel ist in Kopie (und engli¨ scher Ubersetzung) in dem Artikel von M. Sipser abgedruckt. 2. Referenzen (a) M. Sipser. The history and status of the P versus NP question, Proceedings of ACM STOC’92, pp. 603-618, 1992. (b) C. H. Papadimitriou. Computational Complexity, Addison-Wesley, 1994. (c) Stephen A. Cook. The complexity of theorem-proving procedures. In Conference Record of Third Annual ACM Symposium on Theory of Computing, pages 151–158, Shaker Heights, Ohio, 35 1971. (d) Lenore Blum, Felipe Cucker, Michael Shub, and Steve Smale. Complexity and Real Computation. Springer-Verlag, New York, 1998. (e) T. P. Baker, J. Gill, and R. Solovay. Relativizations of the P =? NP question. SICOMP: SIAM Journal on Computing, 1975.

48-2

(f) Richard M. Karp. Reducibility among combinatorial problems. In R. E. Miller and J. W. Thatcher, editors, Complexity of Computer Computations, pages 85– 103, New York, 1972. Plenum Press. (g) Leonard Levin. Universal search problems (in Russian). Problemy Peredachi Informatsii, 9(3):265-266, 1973. English translation in B. A. Trakhtenbrot: A survey of Russian approaches to Perebor (brute-force search) algorithms. Annals of the History of Computing, 6 (1984), pages. 384-400. (h) Gary L. Miller. Riemann’s hypothesis and tests for primality. J. Comput. System Sci, 13:300-317, 1976. (i) Vaughan R. Pratt. Every prime has a succinct certificate. SIAM Journal on Computing, 4(3):214-220, 1975. (j) Michael R. Garey and David S. Johnson. Computers and Intractibility, a Guide the Theory of NP-Completeness. W.H. Freeman and Co., San Francisco, 1979. (k) Oded Goldreich. Modern Cryptography,

Probabilistic Proofs and Pseudorandomness. Springer-Verlag, Berlin Germany, 1999. (l) Jack Edmonds, Paths, trees, and flowers, Canadian Journal of Mathematics, 17, 449–467, 1965. (m) A. Cobham. The intrinsic computational difficulty of functions, Proc. of the 1964 International Congress for Logic, Methodology, and the Philosophy of Science, edited by Y. Bar-Hillel, North-Holland, 24-30, 1964. (n) William I. Gasarch. Guest Column: The P=?NP Poll, SIGACT News Complexity Theory Column 36, 2002. (o) Aviezri S. Fraenkel, Complexity of protein folding, Bull. Math. BioI. 55, 1199– 1210, 1993. (p) R. Ladner. On the structure of polynomial time reducibility, Journal of the ACM 22: 155-171, 1975. (q) L. G. Khachiyan. A polynomial algorithm for linear programming, Soviet Math Doklady 20:191-194, 1979.

48-3

(r)