• Keine Ergebnisse gefunden

VL-11: Primitiv rekursive Funktionen (Berechenbarkeit und Komplexit¨at, WS 2018) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-11: Primitiv rekursive Funktionen (Berechenbarkeit und Komplexit¨at, WS 2018) Gerhard Woeginger"

Copied!
48
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-11: Primitiv rekursive Funktionen

(Berechenbarkeit und Komplexit¨ at, WS 2018) Gerhard Woeginger

WS 2018, RWTH

(2)

Organisatorisches

N¨achste Vorlesung:

Donnerstag, Dezember 13, 12:30–14:00 Uhr, Aula Freitag, Dezember 7 (morgen): Tag der Informatik

Webseite:

http://algo.rwth-aachen.de/Lehre/WS1819/BuK.php

(3)

Wiederholung

(4)

Wdh.: Ackermann Funktion: Definition

Definition

Die Ackermann FunktionA:N2→Nist folgendermassen definiert:

A(0,n) = n+1 f¨urn≥0

A(m+1,0) = A(m,1) f¨urm≥0 A(m+1,n+1) = A(m,A(m+1,n)) f¨urm,n≥0

Wilhelm Ackermann:

“Zum Hilbertschen Aufbau der reellen Zahlen”

Mathematische Annalen 99 (1928), pp. 118–133

ozsa P´eter:

“Konstruktion nichtrekursiver Funktionen”

Mathematische Annalen 111 (1935), pp. 42–60

(5)

Wdh.: LOOP versus WHILE

Lemma

F¨ur jedes LOOP Programm P gibt es eine nat¨urliche ZahlmP, so dass f¨ur allen∈Ngilt: FP(n)<A(mP,n).

Satz

Die Ackermann Funktion ist nicht LOOP-berechenbar.

Da die Ackermann Funktion (durch eine TM) berechenbar ist, folgt:

Satz

Die Menge der LOOP-berechenbaren Funktionen

bildet eineechte Teilmengeder berechenbaren Funktionen.

(6)

Wdh.: Die Berechenbarkeitslandschaft

Rekursiv aufz¨ahlbare

Probleme

H

H D

Probleme mit rekursiv aufz¨ahlbarem

Komplement H H D Rekursive

Probleme

Unentscheidbare Probleme mit unentscheidbarem Komplement Htot

MPCP PCP

Dioph A(·,·)

LOOP berechenbar

(7)

Douglas Hofstadter: “G¨ odel, Escher, Bach” (1979)

This book looks at the surprising points of contact between the music ofBach, the artwork of Escher, and the mathematics ofG¨odel. It also looks at the prospects for computers and artificial intelligence for mimicking human thought.

BlooPis a non-Turing-complete programming language in Hofstadter’s book whose flow structure is a bounded loop. All programs in the language must terminate, and this language can only expressprimitive recursive functions.

(8)

Vorlesung VL-11

Primitiv rekursive Funktionen

Primitiv rekursive Funktionen Aquivalenz zu LOOP¨

µ-rekursive Funktionen Aquivalenz zu WHILE¨

(9)

Primitiv rekursive Funktionen (1)

Die primitiv rekursiven Funktionen bilden eine Unterfamilie der FunktionenNk →Nmitk ≥1.

Sie sind induktiv definiert, und werden durch zwei Operationen aus den sogenannten Basisfunktionen zusammengebaut.

Thoralf Skolem (1923):

“Begr¨undung der elementaren Arithmetik durch die rekurrierende Denkweise ohne Anwendung scheinbarer Ver¨anderlichen mit unendlichem Ausdehnungsbereich”, Skrifter utgit av Videnskapsselskapet i Kristiania 6, pp 1–38.

(10)

Primitiv rekursive Funktionen (2)

Definition (Basisfunktionen)

Die folgenden drei Funktionsmengen bilden die Basisfunktionen unter den primitiv rekursiven Funktionen:

Alle konstanten Funktionen sind primitiv rekursiv.

Alle identischen Abbildungen (Projektionen auf eine der Komponenten) sind primitiv rekursiv.

Die Nachfolgerfunktionsucc(n) =n+1ist primitiv rekursiv.

Beispiel:π6,4(a,b,c,d,e,f) =d

(11)

Primitiv rekursive Funktionen (3)

Definition (Operationen)

Weiters sind die folgenden Funktionen primitiv rekursiv:

JedeKompositionvon primitiv rekursiven Funktionen ist primitiv rekursiv.

Jede Funktion, die durchprimitive Rekursionaus primitiv rekursiven Funktionen entsteht ist primitiv rekursiv.

Wenn die beiden Funktioneng:Nk →Nundh:Nk+2→Nprimitiv rekursiv sind, so ist auch die wie folgt definierte Funktion

f :Nk+1→Nprimitiv rekursiv:

f(0,x1, . . . ,xk) = g(x1, . . . ,xk)

f(n+1,x1, . . . ,xk) = h(n, f(n,x1, . . . ,xk), x1, . . . ,xk)

(Anmerkung: Die primitive Rekursion wird ¨uber die erste Komponente durchgef¨uhrt.)

(12)

Intuition zu primitiv rekursive Funktionen

Beobachtung:Jede primitiv rekursive Funktion ist berechenbar und total.

Klar f¨ur Basisfunktionen; und die Komposition von berechenbaren und totalen Funktionen ist ebenfalls berechenbar und total.

Angenommen, die beiden Funktioneng:Nk →Nundh:Nk+2→N sind berechenbar. Dann berechnen wir der Reihe nach:

y0 := g(x1, . . . ,xk) y1 := h(0,y0, x1, . . . ,xk) y2 := h(1,y1, x1, . . . ,xk) y3 := h(2,y2, x1, . . . ,xk)

... ...

yn := h(n−1,yn−1, x1, . . . ,xk)

Damit haben wir dann auchf(n,x1, . . . ,xk) =ynberechnet.

(13)

Beispiel: Addition

Die Additionsfunktionadd:N2→Nmitadd(x,y) =x+y ist primitiv rekursiv.

add(0,x) = x

add(n+1,x) = succ(add(n,x))

Genauer: Die Additionsfunktionadd:N2→Nentsteht durch primitive Rekursion aus der identischen Abbildungg(x) =x und aus der primitiv rekursiven Funktionh(a,b,c) =succ(b):

add(0,x) = g(x)

add(n+1,x) = h(n,add(n,x),x)

(14)

Beispiel: Multiplikation

Die Multiplikationsfunktionmult:N2→Nmitmult(x,y) =x·y ist primitiv rekursiv.

mult(0,x) = 0

mult(n+1,x) = add(mult(n,x),x)

Genauer: Die Multiplikationsfunktionmult:N2→Nentsteht durch primitive Rekursion aus der konstanten Abbildungg(x) =0und aus der primitiv rekursiven Funktionh(a,b,c) =add(b,c):

mult(0,x) = g(x)

mult(n+1,x) = h(n,mult(n,x),x)

(15)

Beispiel: Vorg¨ anger und Subtraktion

Die Vorg¨angerfunktionpred:N→Nmitpred(x) =max{x−1,0} ist primitiv rekursiv.

pred(0) = 0 pred(n+1) = n

Die (modifizierte) Subtraktionsfunktionsub:N2→Nmit sub(x,y) =x−. y =max{x−y,0}ist primitiv rekursiv.

Dazu definieren wir zun¨achst die Hilfsfunktionaux(y,x) =x−. y.

aux(0,x) = x

aux(n+1,x) = pred(aux(n,x))

Dann definieren wirsub(x,y) =aux(y,x). (Anmerkung: Die zugrunde liegende primitive Rekursion wird ¨uber die erste Komponente durchgef¨uhrt.)

(16)

Weitere primitiv rekursive Funktionen

Ubung¨

Die folgenden Funktionen sind primitiv rekursiv:

Signum:f :N→ {0,1}mitf(x) = [x ≥1]

Gleichheit:f :N2→ {0,1} mitf(x,y) = [x=y]

Kleiner: f :N2→ {0,1}mitf(x,y) = [x <y] Maximum:f :N2→Nmitf(x,y) =max{x,y}

Minimum:f :N2→Nmitf(x,y) =min{x,y} Division:f :N2→Nmitf(x,y) =bx/yc Parit¨at:f :N→ {0,1}mitf(x) = [x ungerade]

Teilbarkeit: f :N2→ {0,1}mitf(x,y) = [x|y] Primzahl:f :N→ {0,1}mitf(x) = [x prim]

Anmerkung: F¨ur ein logisches Pr¨adikatPrdktverwenden wir die Schreibweise[Prdkt], wobei[Prdkt] =0fallsPrdktfalsch, und[Prdkt] =1fallsPrdktwahr.

(17)

Ein wichtiges Werkzeug:

Primitiv rekursive Bijektionen

(18)

Eine Bijektion (1)

Die Funktionbinom2:N→Nmitbinom2(x) = x2

= 12x(x−1)ist primitiv rekursiv.

binom2(0) = 0

binom2(n+1) = add(n,binom2(n))

Die Funktionβ:N2→Nmit

β(x,y) =

x+y+1 2

+x ist primitiv rekursiv.

(19)

Eine Bijektion (2)

Beobachtung

Die Funktionβ(x,y) = x+y+12

+x ist eine Bijektion zwischenN2undN.

x/y 0 1 2 3 4 5 6 · · ·

0 0 1 3 6 10 15 21 · · ·

1 2 4 7 11 16 22 29 · · ·

2 5 8 12 17 23 30 38 · · ·

3 9 13 18 24 31 39 48 · · ·

4 14 19 25 32 40 49 59 · · ·

5 20 26 33 41 50 60 71 · · ·

6 27 34 42 51 61 72 84 · · ·

7 35 43 52 62 73 85 98 · · ·

(20)

Die Umkehrfunktion (1)

Die Funktion f :N3→ {0,1}mitf(x,y,n) = [β(x,y) =n]ist primitiv rekursiv.

Die Funktion g:N3→ {0,1} mit

g(x,k,n) = [∃y≤k :β(x,y) =n]ist primitiv rekursiv:

g(x,0,n) := f(x,0,n)

g(x,k,n) := f(x,k,n) +g(x,k−1,n)·(1−f(x,k,n)) Die Funktion h:N3→Nmit

h(m,k,n) =max{x≤m:∃y ≤k:β(x,y) =n}ist primitiv rekursiv (wobei wirmax∅=0definieren):

h(0,k,n) := 0

h(m,k,n) := max{h(m−1,k,n), m·g(m,k,n)}

Die Funktion γ:N→Nmitγ(n) =h(n,n,n)ist primitiv rekursiv

(21)

Die Umkehrfunktion (2)

Die Funktionγ:N→Nmitγ(n) =h(n,n,n)ist primitiv rekursiv Also:γ(n) =h(n,n,n)ist die gr¨osste Zahl x≤n, f¨ur die eine Zahl y ≤nexistiert, sodassβ(x,y) =ngilt.

F¨ur jedes n∈Ngibt es ein einziges Zahlenpaar(x,y)∈N2 mit β(x,y) =n. Die Funktionγ(n)gibt uns daher die (eindeutig bestimmte) Zahlx in dieser Gleichung an.

Analog: Es gibt eine primitiv rekursive Funktionδ(n), die die (eindeutig bestimmte) Zahly in der Gleichungβ(x,y) =nangibt.

Zusammenfassend:

Die Umkehrfunktionenγ undδder Bijektionβ sind primitiv rekursiv.

F¨ur allen∈Ngilt β(γ(n), δ(n)) =n.

(22)

Weitere Bijektionen

Aus der Bijektionβ:N2→Nkann man weitere Bijektionen zwischen Nk+1 undNbauen: Dieprimitiv rekursiveFunktion

β(n0, β(n1, β(n2, . . . , β(nk−1,nk). . .))

weist jedem(k+1)-Tupel(n0,n1, . . . ,nk)eine entsprechende Zahl inN zu, die wir im Folgenden mithn0,n1, . . . ,nkibezeichnen.

Mit Hilfe der beiden Funktionenγ(n)undδ(n)kann man dann weitere primitiv rekursiveFunktionenu0,n1, . . . ,uk :N→Nkonstruieren, sodass f¨ur allen∈Ndie folgende Beziehung gilt:

n = hu0(n), u1(n), . . . ,uk(n)i

(23)

Aquivalenz zu LOOP Programmen ¨

(24)

Aquivalenz zu LOOP Programmen ¨

Satz

Die Menge der primitiv rekursiven Funktionen

f¨allt mit der Menge der LOOP-berechenbaren zusammen.

(25)

Beweis: LOOP → Primitiv rekursiv (1)

Wir betrachten eine LOOP-berechenbare Funktionf, die von einem LOOP Programm P berechnet wird.

Die im ProgrammP verwendeten Variablen seienx0,x1, . . . ,xk.

Wir beweisen mit Induktion ¨uber den Aufbau vonP, dass eine primitiv rekursive FunktiongP :N→Nexistiert, die die Arbeitsweise vonP simuliert:

Wenn das ProgrammP die Anfangswerte a0,a1, . . . ,ak der Variablen in die Endwerteb0,b1, . . . ,bk ¨ubersetzt, dann gilt entsprechend

gP(ha0,a1, . . . ,aki) =hb0,b1, . . . ,bki

(26)

Beweis: LOOP → Primitiv rekursiv (2)

Zuweisungen

FallsP aus der Zuweisungxi:=xj+c besteht, so ist

gP(x) =hu0(x), . . . ,ui−1(x),uj(x) +c,ui+1(x), . . . , uk(x)i

Hintereinanderausf¨uhrung

FallsP die FormQ;R hat, so gilt gP(x) =gR(gQ(x) )

(27)

Beweis: LOOP → Primitiv rekursiv (3)

LOOP-Konstrukt

Angenommen,P ist ein LOOP Programm von der Form LOOPxi DOQ ENDLOOP

Wir definieren zun¨achst die (primitiv rekursive) Hilfsfunktion h:N2→Nmit

h(0,x) = x

h(n+1,x) = gQ(h(n,x)).

Der Aufrufh(n,x)wendet das ProgrammQ genaun-mal hintereinander auf die Eingabex an.

Da der Wert xi am Anfang der Schleife durchui(x)gegeben ist, gilt gP(x) =h(ui(x),x)

(28)

Beweis: LOOP → Primitiv rekursiv (4)

Schlussendlich geben wir Anfang und Ende der Simulation an:

Anfang von LOOP

Die Eingabe ist in den Variablenx1, . . . ,xm enthalten.

Alle anderen Variablen werden mit0initialisiert.

Wenn diem Eingabevariablen die Wertex10, . . . ,xm0 haben, so ist der Eingabewert f¨ur die primitiv rekursive Simulation

x = h0, x10,x20, . . . ,xm0 , 0,0, . . . ,0

| {z }

k−m

i

Ende von LOOP

Das Resultat ist die Zahl, die sich am Ende in der Variablenx0 ergibt.

Das Resultat des LOOP ProgramsP ergibt sich als u0 gP(h0, x10,x20, . . . ,xm0, 0,0, . . . ,0i)

.

(29)

R¨ uckrichtung:

Primitiv rekursiv → LOOP

(30)

Beweis: Primitiv rekursiv → LOOP (1)

Wir betrachten eine primitiv rekursive Funktion f :Nk →N Wir beweisen mit Induktion ¨uber die Definition vonf, dass ein LOOP ProgrammPf existiert, das die Auswertung vonf simuliert:

Das ProgrammPf nimmt die Variablenwertex1, . . . ,xk und terminiert mit x0=f(x1, . . . ,xk).

Basisfunktionen

Die konstante Funktionf(x1, . . . ,xk) =c wird durch das LOOP Programx0:=c simuliert.

Die Projektionf(x1, . . . ,xk) =xj wird durch das LOOP Programx0:=xj simuliert.

Die Nachfolgerfunktionsucc(xj) =xj+1wird durch das LOOP Programx0:=xj+1simuliert.

(31)

Beweis: Primitiv rekursiv → LOOP (2)

Komposition

Falls die primitiv rekursive Funktionf durch Komposition aus anderen primitiv rekursiven Funktionenf1, . . . ,fs entsteht,

so wird f simuliert, indem man die LOOP Programme f¨urf1, . . . ,fs geeignet hintereinander ausf¨uhrt.

(Zwischenergebnisse kann sich die Simulation f¨ur sp¨ater merken, indem sie in separaten Variablen bis zur Wiederverwendung zwischengespeichert werden.)

(32)

Beweis: Primitiv rekursiv → LOOP (3)

Primitive Rekursion

Angenommen, die Funktionf :Nk+1→Nentsteht durch primitive Rekursion aus den beiden primitiv rekursiven Funktioneng:Nk →Nund h:Nk+2→N, wobei

f(0,x1, . . . ,xk) = g(x1, . . . ,xk)

f(n+1,x1, . . . ,xk) = h(n, f(n,x1, . . . ,xk), x1, . . . ,xk)

Das simulierende LOOP ProgrammPf sieht dann wie folgt aus:

x0:=g(x1, . . . ,xk);

s :=0;

LOOPnDO

x0:=h(s,x0, x1, . . . ,xk);

s:=s+1;

ENDLOOP;

(33)

µ-rekursive Funktionen

(34)

Der Kleene’sche µ-Operator (1)

In der folgenden Definition gilt min∅=⊥.

Definition

Es seig:Nk+1→N∪ {⊥}eine (partielle oder totale) Funktion mitk+1 Argumenten (k ≥1). Durch Anwendung desµ-Operators aufg entsteht eine neue Funktionf :Nk →N∪ {⊥}mitk Argumenten, wobei

f(x1, . . . ,xk) =min{n|g(n,x1, . . . ,xk) =0 und

f¨ur allem<ngiltg(m,x1, . . . ,xk)6=⊥}.

Die entstehende Funktionf wird mitµg:Nk →N∪ {⊥}bezeichnet.

(Anmerkung: Derµ–Operator arbeitet mit der ersten Komponente.)

(35)

Der Kleene’sche µ-Operator (2)

Beispiel

Es seig:N2→Nmit g(x,y) =5x2−4xy−y2−19.

Dann istµg(y)die kleinste Zahl x∈Nmit5x2−4xy−y2=19.

Beispiel

Es seig:N3→Nmit g(x,y,z)≡1.

Dann giltµg(y,z)≡ ⊥.

(36)

µ-rekursive Funktionen

Definition

Die Klasse derµ-rekursiven Funktionen ist die kleinste Klasse von (partiellen und totalen) Funktionen,

die die Basisfunktionen (konstant Funktionen; identischen Abbildungen; Nachfolgerfunktion) enth¨alt und

die abgeschlossen ist unter Komposition, primitiver Rekursion und Anwendung desµ-Operators.

(37)

Stephen Cole Kleene (1909–1994)

Wikipedia: Stephen Kleene was a student of Alonzo Church. Kleene is best known as the founder of recursion theory, which subsequently helped to provide the foundations of theoretical computer science.

Kleene’s work grounds the study of computable functions. A number of mathematical concepts are named after him: Kleene hierarchy, Kleene algebra, the Kleene star (Kleene closure), Kleene’s recursion theorem, and the Kleene fixpoint theorem. He also invented regular expressions, and made significant contributions to the

foundations of mathematical intuitionism.

(38)

Aquivalenz zu WHILE Programmen ¨

(39)

Aquivalenz zu WHILE Programmen ¨

Satz

Die Menge derµ-rekursiven Funktionen

f¨allt mit der Menge der WHILE-berechenbaren (Turing-berechenbaren;

RAM-berechenbaren) Funktionen zusammen.

Der Beweis dieses Satz basiert auf dem Beweis unseres letzten Satzes (primitiv rekursiv ⇔LOOP-berechenbar), und bildet eine einfache Erweiterung

In der einen Richtung zeigen wir, dass WHILE Schleifen mit Hilfe des µ-Operators simuliert werden k¨onnen

In der anderen Richtung zeigen wir, dass der µ-Operator durch eine WHILE Schleife simuliert werden kann

(40)

Beweis: WHILE → µ-rekursiv

Simulation eines WHILE ProgrammsP WHILExi6=0 DOQ ENDWHILE

Wir recyclen die Hilfsfunktion h:N2→N, die durch den Aufruf h(n,x)das Programm Qgenau n-mal aufx anwendet:

h(0,x) = x

h(n+1,x) = gQ(h(n,x)).

ui(h(n,x))gibt den Wert der Variablenxi nachn-maliger Anwendung vonQan.

µui(h(n,x))gibt dann die kleinste Zahl nan, f¨ur die die Variablexi

nachn-maliger Anwendung vonQ den Wert0hat.

Daher wird das WHILE ProgrammP simuliert durch gP(x) =h(µui(h(n,x)), x)

(41)

Beweis: µ-rekursiv → WHILE

Simulation desµ-Operators

Angenommen, die Funktionf :Nk →Nentsteht durch den µ-Operator aus derµ-rekursiven Funktiong:Nk+1→N, also: f =µg

Das simulierende WHILE ProgrammPf sieht dann wie folgt aus:

x0:=0;

y :=g(0,x1, . . . ,xk);

WHILEy 6=0 DO x0:=x0+1;

y:=g(x0, x1, . . . ,xk);

ENDLOOP;

(42)

Landschaftsbild

TM = RAM = WHILE =µ-rekursiv

LOOP = primitiv rekursiv + − × ab ab kn

A(m,n)

Ackermann Funktion

(43)

Zusammenfassung: Berechenbarkeit

(44)

Zusammenfassung / Berechenbarkeit (1)

Wir haben die folgendenTuring-m¨achtigenRechenmodelle und Programmiersprachen kennen gelernt:

Turingmaschine (TM) k-Band-TM

Registermaschine (RAM)

WHILE-Programme (und somit C, Java, Pascal, Postscript, etc.) µ-rekursive Funktionen (und somit LISP, Haskell, OCaml, etc)

Die folgenden Rechenmodelle und Programmiersprachen sindnicht Turing-m¨achtig:

LOOP-Programme

Primitiv rekursive Funktionen

(45)

Zusammenfassung / Berechenbarkeit (2)

Church-Turing These

Die Klasse der TM-berechenbaren Funktionen stimmt mit der Klasse der “intuitiv berechenbaren” Funktionen ¨uberein.

In anderen Worten:

Ein Problem kann genau dann “algorithmisch gel¨ost werden”, wenn es eine TM f¨ur dieses Problem gibt.

An Stelle von “TM” k¨onnen wir auch jedes andere Turing-m¨achtige Rechenmodell in die obigen S¨atze einf¨ugen.

(46)

Zusammenfassung / Berechenbarkeit (3)

Berechenbarkeitslandschaft:

Rekursiv aufz¨ahlbare

Probleme

H

H D

Probleme mit rekursiv aufz¨ahlbarem

Komplement H H D Rekursive

Probleme

Unentscheidbare Probleme mit unentscheidbarem Komplement Htot

MPCP PCP

Dioph A(·,·)

primitiv rekursive Probleme

(47)

Zusammenfassung / Berechenbarkeit (4)

Methoden zum Nachweis von Nicht-Berechenbarkeit:

Diagonalisierung Unterprogrammtechnik

Reduktionen (spezielle Variante der Unterprogrammtechnik) Satz von Rice:Aussagen ¨uber Eigenschaften von Funktionen, die durch eine gegebene TM berechnet werden, sind nicht entscheidbar

(48)

Zusammenfassung / Berechenbarkeit (5)

Wichtige nicht berechenbare Probleme:

Halteproblem, in verschiedenen Varianten Postsches Korrespondenzproblem

Verschiedene Entscheidungsprobleme f¨ur CFGs

Erkennung von Funktionen mit elementaren Stammfunktionen Hilberts zehntes Problem

Schlussfolgerung aus Rice: Die automatische Verifikation von Programmen in TM-m¨achtigen Programmiersprachen ist unm¨oglich

Referenzen

ÄHNLICHE DOKUMENTE

Wenn es f¨ ur die Sprache L einen Aufz¨ ahler gibt, so wird L als rekursiv aufz¨ ahlbar bezeichnet..

A number of mathematical concepts are named after him: Kleene hierarchy, Kleene algebra, the Kleene star (Kleene closure), Kleene’s recursion theorem, and the Kleene fixpoint

A number of mathematical concepts are named after him: Kleene hierarchy, Kleene algebra, the Kleene star (Kleene closure), Kleene’s recursion theorem, and the Kleene fixpoint

Ein schneller Algorithmus f¨ ur das Entscheidungsproblem liefert (durch wiederholte Anwendung) oft auch einen schnellen Algorithmus zum Berechnen eines expliziten L¨

Ein schneller Algorithmus f¨ ur das Entscheidungsproblem liefert (durch wiederholte Anwendung) oft auch einen schnellen Algorithmus zum Berechnen eines expliziten L¨

Wir werden zeigen, dass SAT, CLIQUE, Ham-Cycle, PARTITION, Rucksack und viele weitere Probleme NP-vollst¨ andig sind.. Unter der Annahme P 6= NP (Standardannahme) besitzt also

Wir werden zeigen, dass SAT, CLIQUE, Ham-Cycle, PARTITION, Rucksack und viele weitere Probleme NP-vollst¨ andig sind.. Unter der Annahme P 6= NP (Standardannahme) besitzt also

Auch wenn eine Aufgabe als Entscheidungsfrage formuliert wird, gibt es f¨ ur ein einfaches Ja oder Nein keine Punkte. Allgemein: Punkte werden bei der Klausur haupts¨ achlich f¨