conp and Function Problems

Σχετικά έγγραφα
Κλάσεις Πολυπλοκότητας

Εφαρμοσμένη Κρυπτογραφία Ι

Εφαρμοσμένη Κρυπτογραφία Ι

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

Θεωρία Υπολογισμού και Πολυπλοκότητα

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

ILP-Feasibility conp

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

Θεωρία Υπολογισμού και Πολυπλοκότητα

Chapter 7, 8 : Time, Space Complexity

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Chapter 9: NP-Complete Problems

CSC 314: Switching Theory

Υπολογιστική Πολυπλοκότητα

Αριθμοθεωρητικοί Αλγόριθμοι

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Θεωρία Υπολογισµού Theory of Computation

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας

Αλγόριθµοι και Πολυπλοκότητα

Κλάση NP, NP-Complete Προβλήματα

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

Υπολογιστική Πολυπλοκότητα

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Δομές Δεδομένων και Αλγόριθμοι

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

4.3 Ορθότητα και Πληρότητα

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος

Αλγόριθμοι και Πολυπλοκότητα

Λύσεις 4ης Σειράς Ασκήσεων

NP-complete problems. IS, 4-Degree IS,CLIQUE, NODE COVER, MAX CUT, MAX BISECTION, BISECTION WIDTH. NP-complete problems 1 / 30

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Recursive and Recursively Enumerable sets I

Μη Ντετερμινισμός και NP-Πληρότητα

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

t M (w) T ( w ) O( n) = O(n 2 )

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

* * * ( ) mod p = (a p 1. 2 ) mod p.

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Completeness

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 2 ΕΠΙΜΕΛΕΙΑ :ΣΤΟΥΚΑ ΑΙΚΑΤΕΡΙΝΗ-ΠΑΝΑΓΙΩΤΑ ΜΕΤΑΠΤΥΧΙΑΚΟ:ΜΠΛΑ

2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί. q Z, a = b q + r.

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια)

1o Φροντιστήριο ΗΥ240

Υπολογισιμότητα και Πολυπλοκότητα Computability and Complexity

Μη Ντετερμινισμός και NP-Πληρότητα

Υπολογιστικά & Διακριτά Μαθηματικά

Ασκήσεις μελέτης της 8 ης διάλεξης

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

ΔΥΣΚΟΛΙΑ ΣΤΗΝ ΠΡΟΣΕΓΓΙΣΙΜΟΤΗΤΑ

Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη

Εισαγωγή στην Επιστήμη των Υπολογιστών

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Ε Μέχρι 18 Μαΐου 2015.

Μοντελοποίηση προβληµάτων

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Ε Μέχρι 31 Μαρτίου 2015.

Μαθηματική Λογική και Λογικός Προγραμματισμός

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΠΑΡΑΓΟΝΤΟΠΟΙΗΣΗΣ ΑΚΕΡΑΙΩΝ

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού

Λογική Πρώτης Τάξης. Γιώργος Κορφιάτης. Νοέµβριος Εθνικό Μετσόβιο Πολυτεχνείο

2 n N: 0, 1,..., n A n + 1 A

9 Πολυώνυμα Διαίρεση πολυωνύμων

Φροντιστήριο 11 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Τεχνητή Νοημοσύνη. 8η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ

Σημειωματάριο μαθήματος 1ης Νοε. 2017

Τυχαιότητα (Randomness) I

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Υπολογισμός της δύναμης z=x b modn

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

Αλγόριθμοι και Πολυπλοκότητα

10.1 Υπολογίσιμες συναρτήσεις και αναδρομικά σύνολα

Σειρά Προβλημάτων 5 Λύσεις

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο )

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Υποθέσεις - Θεωρήματα. Μαθηματικά Πληροφορικής 1ο Μάθημα. Η χρυσή τομή. Υποθέσεις - Εικασίες

L A P. w L A f(w) L B (10.1) u := f(w)

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

Transcript:

conp and Function Problems 1

Ένα πρόβλημα απόφασης λέμε ότι επιλύεται σε μηντετερμινιστικό πολυωνυμικό χρόνο αν υπάρχει ένας μηντετερμινιστικός αλγόριθμος που, εκμεταλλευόμενος μια τυχαία επιλογή, μπορεί σε πολυωνυμικό χρόνο να δώσει καταφατική απάντηση στο πρόβλημα. Η κλάση αυτών των προβλημάτων συμβολίζεται με NP (Nondeterministic Polynomial time). Αντίστοιχα το conp είναι η κλάση των προβλημάτων που ένας αλγόριθμος απαντά καταφατικά στο συμπληρωματικό πρόβλημα. 2

Δηλαδή η περίπτωση no ενός προβλήματος στο conp εμπεριέχει μια σύντομη απόδειξη του ότι αποτελεί τέτοια περίπτωση. Μόνο οι περιπτώσεις no διαθέτουν τέτοιες αποδείξεις. Εάν υποθέσουμε ότι L είναι ένα conp πρόβλημα. Σότε υπάρχει πολυωνυμικού χρόνου μη-ντετερμινιστικός αλγόριθμος Μ όπου: x L Αν, τότε Μ(χ) = yes για όλα τα υπολογιστικά μονοπάτια. x L Αν, τότε Μ(χ) = no για κάποια υπολογιστικά μονοπάτια. 3

P conp Καταλήγουμε ότι. P NP conp Υυσικά δεν ξέρουμε εάν. R RE core ε αντίθεση με αυτό. 4

Κάποια παραδείγματα conp προβλημάτων: Validity conp Η εγκυρότητα (Validity) Boolean εκφράσεων είναι ένα τυπικό πρόβλημα στο conp. Εάν η φ δεν είναι έγκυρη, τότε μπορoύμε να βρούμε succinct disqualifications: μια αληθής πρόταση που δεν την ικανοποιεί. SAT complement conp. (Validity) (το ακριβώς αντίθετο του SAT complement) HAMILTONIAN PATH complement conp. disqualification = a Hamiltonian path 5

Ένας εναλλακτικός χαρακτηρισμός για το conp: Ας υποθέσουμε ότι L είναι μια γλώσσα. Σότε L ανήκει στο conp εανν υπάρχει πολυωνυμικά αποφασίσιμη (polynomially decidable) και polynomially balanced σχέση R ώστε L = {x : για όλα τα y (x, y) R}. L' = {x : (x, y) R για κάποια y}. Επειδή η R παραμένει polynomially balanced, L' NP Άρα L conp εξ ορισμού. 6

Πρόταση: Εαν L είναι NP-complete, τότε το συμπλήρωμα του L' = * - L είναι conp-complete. Απόδειξη: ( ) Έστω L1 όποιαδήποτε conp γλώσσα. Άρα L1 NP. Έστω R η αναγωγή από την L1 στην L Τότε το x L1 αν και μόνο αν R(x) L. Τότε x L1 αν και μόνο αν R(x) L. Οπότε R εί ναι η αναγωγή από το L1 στο L. ( ) Συμμετρικά αποδεικνύεται. 7

Κάποια conp-complete προβλήματα: SAT complement είναι conp-complete. SAT complement είναι το συμπλήρωμα του sat. HAMILTONIAN PATH complement είναι conp-complete. VALIDITY είναι conp-complete. Η φ είναι έγκυρη αν και μόνο αν η φ δεν είναι ικανοποιήσιμη. Η αναγωγή από το SAT complement στο VALIDITY είναι πολύ εύκολη. 8

Πιθανές σχέσεις μεταξύ P, NP και conp: P = NP = conp NP = conp αλλά P NP NP conp και P NP 9

Πρόταση: Εαν ένα conp-complete problem είναι στο NP, τότε NP = conp. Απόδειξη: Έστω L η conp-πλήρης γλώσσα και έστω L NP. Άρα L conp και άρα L L (άφού η L εί ναι conp-πλήρης). Από την προηγούμενη πρόταση έχουμε πως η L εί ναι NPπλήρης και άρα L L (αφού L NP). ( ) (conp NP) Έστω Α conp. Έχουμε Α L (η L εί ναι conp-πλήρης) και L L. Η αναγωγισιμότητα εί ναι μεταβατική και άρα Α L. Αφού L NP, συμπεραί νουμε πως Α NP λόγω κλειστότητας της κλάσης NP ως προς αναγωγισιμότητα. ( ) (NP conp) Έστω Β NP. Έχουμε Β L L και με τον ί διο ακριβώς σκεπτικό συμπεραί νουμε πως Β conp. 10

υμπεράσματα: Όμοια εάν ένα NP-hard problem είναι στο conp, τότε NP = conp. Άρα NP-complete προβλήματα είναι απίθανο να είναι στο conp και conp-complete προβλήματα είναι απίθανο να είναι στο NP. 11

The Primality Problem: Ένας ακέραιος (integer) p είναι πρώτος αν p>1 και όλοι οι θετικοί διαιρέτες του είναι ο εαυτός του και η μονάδα. Σο πρόβλημα PRIMES, εξετάζει αν ένας ακέραιος Ν που δίνεται στο δυαδικό σύστημα είναι πρώτος αριθμός. Σο να διαιρέσουμε το Ν με το 2, 3,..., δεν είναι αποτελεσματικό. 0.5log N το μήκος του Ν είναι μόνο logn, αλλά n 2. Αλγόριθμος πολυωνυμικού χρόνου για το πρόβλημα primes δεν είχε βρεθεί μέχρι που το 2002 οι Agrawal, Kayal, και Saxena κατάφεραν να βρουν! n 12

ΔNP: ΔNP NP conp είναι η κλάση των προβλημάτων που έχουν succinct certificates και succinct disqualifications. Κάθε yes περίπτωση έχει succinct certificate. Κάθε no περίπτωση έχει succinct disqualification. ε καμία περίπτωση δεν μπορούμε να έχουμε ταυτόχρονα και yes και no. 13

Πρωταρχικές Ρίζες σε Πεπερασμένα Πεδία: (Primitive Roots in Finite Fields) ΘΕΩΡΗΜΑ (Lucas and Lehmer (1927)): Ένας αριθμός p>1 είναι πρώτος αν και μόνο αν υπάρχει αριθμός r, 1<r<p (που ονομάζεται πρωταρχική ρίζα ή γεννήτορας) τέτοιος ώστε: r p 1 = 1 mod p, και r (p 1)/q 1 mod p για όλους τους πρώτους διαιρέτες q του p 1. 14

Πόρισμα (Pratt s Theorem (1975)): Σο PRIMES ανήκει στο NP conp. Απόδειξη: Σο PRIMES είναι στο conp γιατί ένα succinct disqualification είναι ένας διαιρέτης του. Τποθέτουμε ότι p είναι πρώτος. p s certificate εμπεριέχει το r (από Θεώρημα Lucas and Lehmer). Φρησιμοποιούμε recursive doubling για να ελέγξουμε αν r p 1 = 1modp σε πολυωνυμικό-χρόνο ως προς το μήκος του input log p. Φρειαζόμαστε επίσης όλους τους πρώτους διαιρέτες του p-1: q 1, q 2,, q k. Σο να ελέγξουμε αν το r (p 1)/qi 1 mod p είναι επίσης εύκολο. Ελέγχουμε πολύ εύκολα αν q 1, q 2,, q k είναι όλοι οι διαιρέτες του p-1. 15

(συνέχεια απόδειξης): Φρειαζόμαστε ακόμη να βρούμε certificates που να δείχνουν ότι τα q i είναι πρώτοι. Σο πλήρες certificate είναι επαναλαμβανόμενο (recursive) και δενδροειδές (treelike): C(p) = (r; q 1, C(q 1 ), q 2, C(q 2 ),..., q k, C(q k )). C(p) μπορεί να ελεγθεί σε πολυωνυμικό χρόνο. τη συνέχεια αποδεικνύουμε ότι C(p) είναι succinct. 16

The Succinctness of the Certificate: Σο μήκος του C(p) είναι το πολύ τετραγωνικό 5 log 2 p. Αυτός ο ισχυρισμός ισχύει όταν p = 2 ή p = 3. Γενικά, p 1 έχει k < log p πρώτους διαιρέτες q 1 = 2, q 2,..., q k. C(p) απαιτεί: 2 παρενθέσεις και 2k < 2 log p διαχωριστικά (μήκους το πολύ 2 log p), r (μήκους το πολύ log p), q1 = 2 και το certificate του 1 (μήκους το πολύ 5 bits), τα qi s (μήκους το πολύ 2 log p), και τα C(qi )s. C(p) είναι succinct επειδή C(p)... 5 log 2 p Για p 4. 17

Function Problems: Προβλήματα Απόφασης (decision problems) είναι yes/no προβλήματα (sat, tsp (d), κ.λ.π). Σα function problems απαιτούν μια λύση (για το SAT μια τιμή αληθείας που να το ικανοποιεί, για το tsp μια καλύτερη διαδρομή, κ.λ.π). Προβλήματα Βελτιστοποίησης (Optimization Problems) είναι καθαρά function problems. Ποιά είναι η σχέση μεταξύ function και decision problems? Ποιό από τα δύο προβλήματα είναι το πιο δύσκολο? 18

Σα Function Problems δεν μπορούν να είναι πιο εύκολα από τα Decision Problems: Αν γνωρίζουμε πως να δημιουργήσουμε μια λύση, μπορούμε να επιλύσουμε το αντίστοιχο decision problem. Αν μπορούμε να βρούμε μια τιμή αληθείας που να το ικανοποιεί, τότε το sat είναι στο P. Αν μπορούμε να βρούμε την καλύτερη tsp διαδρομή, τότε το tsp (d) είναι στο P. Ομως τα decision problems μπορούν να είναι τόσο δύσκολα όσο και τα αντίστοιχα function problems. 19

FSAT: Σο FSAT είναι ένα function problem: Έστω φ(x 1, x 2,, x n ) είναι μια Boolean έκφραση. Αν φ είναι ικανοποιήσιμη, τότε επιστρέφει μια τιμή αληθείας. Διαφορετικά, επιστρέφει no. τη συνέχεια θα δείξουμε ότι αν SAT P, τότε το FSAT έχει πολυωνυμικού χρόνου αλγόριθμο. 20

Αλγόριθμος για το FSAT χρησιμοποιώντας το SAT: 1: t := ε; 2: if φ SAT then 3: for i = 1, 2,..., n do 4: if φ[ xi = true ] SAT then 5: t := t { xi = true }; 6: φ := φ[ xi = true ]; 7: else 8: t := t { xi = false }; 9: φ := φ[ xi = false ]; 10: end if 11: end for 12: return t; 13: else 14: return no ; 15: end if 21

Ανάλυση: Γίνονται n+1 κλήσεις στον αλγόριθμο για το SAT. Πιο σύντομες Boolean εκφράσεις από την φ χρησιμοποιούνται σε κάθε κλήση για τον αλγόριθμο του sat. Έτσι αν το SAT μπορεί να λυθεί σε πολυωνυμικό χρόνο, να μπορεί και το FSAT. Οπότε SAT και FSAT είναι ίσης δυσκολίας (ή ευκολίας). 22

TSP και TSP (d) Revisited: Μας δίνονται n πόλεις 1,2,..., n και οι ακέραιες αποστάσεις d ij = d ji μεταξύ δύο οποιονδήποτε πόλεων i και j. Σο TSP ψάχνει να βρει ποιά είναι εκείνη διαδρομή (tour) με την μικρότερη συνολική απόσταση (και όχι απλά πόση είναι η μικρότερη συνολική διαδρομή). Η μικρότερη συνολική απόσταση πρέπει να είναι το πολύ 2 x, όπου x είναι το input μας. Σο TSP (d) ψάχνει να βρει εάν υπάρχει διαδρομή με συνολική απόσταση το πολύ Β. τη συνέχεια θα δείξουμε ότι εάν TSP (d) P τότε το TSP έχει αλγόριθμο πολυωνυμικού χρόνου. 23

Αλγόριθμος για το TSP χρησιμοποιώντας τον TSP (d): 1. Perform a binary search over interval [ 0, 2 x ] by calling tsp (d) to obtain the shortest distance C; 2. For i, j = 1, 2,..., n do 3. Call tsp (d) with B = C and d ij = C + 1; 4. If no then 5. Restore d ij to old value; {Edge [ i, j ] is critical.} 6. End if 7. End for 8. Return the tour with edges whose d ij C; 24

Ανάλυση: Μια ακμή που δεν βρίσκεται σε καμιά βέλτιστη διαδρομή εξαλείφεται, με το d ij = C+1. Μια ακμή που δεν είναι σε όλες τις υπόλοιπες βέλτιστες διαδρομές θα εξαληφθεί επίσης. Έτσι ο αλγόριθμος τελειώνει με n ακμές οι οποίες δεν εξαλείφθηκαν. Γίνονται O( x +n 2 ) κλήσεις στον αλγόριθμο του tsp (d). Έτσι αν το tsp (d) μπορεί να επιλυθεί σε πολυωνυμικό χρόνο, να μπορεί και το tsp. υμπεραίνουμε λοιπόν ότι το tsp (d) και το tsp είναι ίσης δυσκολίας (ή ευκολίας). 25

FNP και FP: L NP εανν υπάρχει πολυωνυμικού χρόνου σχέση R L (x, y) τέτοια ώστε: x L y { y p( x ) & R L (x, y) } Προσέξτε πως η R L καθορίζει το πρόβλημα-γλώσσα L. Σο αντίστοιχο function πρόβλημα Π R(L) FNP είναι: μας δίνεται ένα x και πρέπει να βρούμε κάποιο y τέτοιο ώστε: να ικανοποιείται η R L (x, y) ή να επιστρέφει no αν δεν υπάρχει κανένα y που να την ικανοποιεί. Είναι όλα τα FNP προβλήματα self-reducible όπως το FSAT??? [ανοικτό] FP είναι η υποκλάση (subclass) των FNP όπου έχουμε μόνο προβλήματα για τα οποία υπάρχει πολυωνυμικού χρόνου αλγόριθμος. 26

FP <?> FNP Η απόδειξη του Cook δείχνει ότι το FSAT είναι FNP-complete. Άρα εάν FSAT FP τότε FNP = FP. Ομως δείξαμε την ιδιότητα αυτοελαχιστοποίησης (selfreducibility) για το SAT, οπότε καταλήγουμε στο εξής Θεώρημα: ΘΕΩΡΗΜΑ: FP = FNP εανν P=NP. 27

TFNP: Σι συμβαίνει όταν η σχέση R είναι ολική (total) ; π.χ. : για κάθε x υπάρχει τουλάχιστον ένα y τέτοιο ώστε R( x, y ). Ορίζω το TFNP να είναι η υποκλάση (subclass) του FNP όπου η σχέση R να είναι ολική (total). TFNP περιλαμβάνει προβλήματα που πάντα έχουν λύση, π.χ. Παραγοντοποίηση (factoring), θεωρήματα σταθερού σημείου (fix-point theorems), γραφοθεωρητικά προβλήματα (graphtheoretic problems),... Πώς γνωρίζουμε ότι υπάρχει πάντα λύση; Με μια μη-κατασκευαστική απόδειξη της ύπαρξης. 28