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

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

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

Κλάσεις Πολυπλοκότητας

ILP-Feasibility conp

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

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

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

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

conp and Function Problems

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

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

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

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

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

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

Chapter 7, 8 : Completeness

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

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

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

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

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

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

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

CSC 314: Switching Theory

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

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

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Αλγόριθμοι για αυτόματα

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

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

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

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

HY118-Διακριτά Μαθηματικά. Τι είδαμε την προηγούμενη φορά. Θεωρία γράφων / γραφήματα. 25 -Γράφοι. ΗΥ118, Διακριτά Μαθηματικά Άνοιξη 2017

Σχεδίαση και Ανάλυση Αλγορίθμων

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

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

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

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

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

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

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

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

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

ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΑΠΟΔΕΙΞΗ

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

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

f(t) = (1 t)a + tb. f(n) =

A. ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι έχουμε δει μέχρι τώρα. Ισομορφισμός γράφων: Μία σχέση ισοδυναμίας μεταξύ γράφων.

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

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

A. ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

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

1 Η εναλλάσσουσα ομάδα

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

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

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

ΑΝΑΛΥΣΗ 1 ΤΕΤΑΡΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

f(x) = και στην συνέχεια

ΑΝΑΛΥΣΗ 1 ΠΕΜΠΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

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

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι είδαμε την προηγούμενη φορά. Συνεκτικότητα. 25 -Γράφοι

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

A N A B P Y T A ΑΣΚΗΣΕΙΣ ΠΟΛΥΩΝΥΜΩΝ. 1 (α + β + γ) [(α-β) 2 +(α-γ) 2 +(β-γ) 2 ] και τις υποθέσεις

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

Πολυωνυμικές εξισώσεις και ανισώσεις Εξισώσεις και ανισώσεις που ανάγονται σε πολυωνυμικές

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

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

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

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

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

Μ Α Θ Η Μ Α Τ Α Γ Λ Υ Κ Ε Ι Ο Υ

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

ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014

Θεωρία Γραφημάτων 6η Διάλεξη

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

Τεχνικές Αποδείξεις Κάτω Φραγμάτων

Μαθηματικά: Αριθμητική και Άλγεβρα. Μάθημα 3 ο, Τμήμα Α. Τρόποι απόδειξης

Σημειώσεις Ανάλυσης Ι. Θεωρούμε γνωστούς τους φυσικούς αριθμούς

2 ) d i = 2e 28, i=1. a b c

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

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ

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

Φροντιστήριο #9 Ασκήσεις σε Γράφους 18/5/2018

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

ΔΕΙΓΜΑ ΠΡΙΝ ΤΙΣ ΔΙΟΡΘΩΣΕΙΣ - ΕΚΔΟΣΕΙΣ ΚΡΙΤΙΚΗ

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

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

Transcript:

ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΠΑΡΑΓΟΝΤΟΠΟΙΗΣΗΣ ΑΚΕΡΑΙΩΝ Διπλωματική Εργασία Κυριακόπουλος Χαράλαμπος EΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΣΠΥΡΑΚΗΣ ΠΑΥΛΟΣ ΣΥΝΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: KYΡΟΥΣΗΣ ΕΛΕΥΘΕΡΙΟΣ Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών Οκτώβριος 2011

Στους γονείς μου, και την αδερφή μου.

Πρόλογος Στην παρούσα Διπλωματική Εργασία θα ασχοληθούμε με το πασίγνωστο πρόβλημα της Παραγοντοποίησης Ακεραίων. Η προσέγγισή μας θα είναι, φυσικά, από τη μεριά της Επιστήμης των Υπολογιστών και της Υπολογιστικής Πολυπλοκότητας. Θα προσπαθήσουμε να κατανοήσουμε γιατί η Παραγοντοποίηση Ακεραίων θεωρείται ένα υπολογιστικά δύσκολο πρόβλημα, και να δούμε τις πρακτικές εφαρμογές και συνέπειες αυτής της θεώρησης. Η συγγραφή αυτής της Διπλωματικής δε θα είχε επιτευχθεί χωρίς την αμέριστη βοήθεια του επιβλέποντα Καθηγητή μου κ. Ε. Κυρούση. Θέλω για αυτόν το λόγο να τον ευχαριστήσω θερμότατα για την προσπάθεια που κατέβαλε μαζί μου στο πολύ ωραίο αυτό ταξίδι από τις έννοιες της Θεωρίας των Γράφων, σε αυτές της Θεωρίας Αριθμών και της Υπολογιστικής Πολυπλοκότητας. Η συνεργασία μας ήταν για μένα εμπειρία ανεκτίμητη. Τέλος, θα ήθελα να ευχαριστήσω τον κ. Π. Σπυράκη για τη γενική εποπτεία της Διπλωματικής και τις καίριες παρατηρήσεις του. 5

6

Περιεχόμενα 1 Εισαγωγή 9 1.1 Integer Factoring................................. 9 1.2 P = NP?...................................... 10 1.2.1 NP - completeness............................ 11 1.3 Func on Problems................................ 12 1.3.1 FNP completeness............................ 12 1.4 TFNP........................................ 13 1.4.1 Σημασιολογικές vs Συντακτικές κλάσεις................. 14 1.4.2 Συντακτικές Υποκλάσεις της TFNP.................... 15 1.4.3 Complete Προβλήματα στις Υποκλάσεις................. 17 2 Οι Υποκλάσεις της TFNP 19 2.1 TFNP FNP.................................... 19 2.2 PPA........................................ 20 2.3 PPAD-PPADS.................................... 27 2.3.1 PPAD................................... 27 2.3.2 PPADS................................... 30 2.4 PPP........................................ 32 2.5 PLS......................................... 32 2.6 Σχέσεις των TFNP υποκλάσεων.......................... 33 3 Βασικές Έννοιες της Θεωρίας Αριθμών 35 3.1 Εισαγωγή..................................... 35 3.2 Διαιρετότητα και Κλάσεις Ισοδυναμίας...................... 36 3.3 Μέγιστος Κοινός Διαιρέτης............................ 38 3.4 Αριθμητική modulo n............................... 40 3.5 Επίλυση γραμμικών εξισώσεων modulo n.................... 43 3.6 Κινέζικο Θεώρημα Υπολοίπων.......................... 44 3.7 Δυνάμεις modulo n................................ 46 3.8 Πρωτόκολλο Δημοσίου Κλειδιού RSA....................... 49 4 Integer-Factoring TFZPP PPP 53 4.1 Integer-Factoring m Order-Finding....................... 54 7

4.2 Ο Αλγόριθμός μας................................. 55 4.3 Προηγούμενα Αποτελέσματα........................... 56 4.3.1 4GIF PPA................................ 57 4.4 Επόμενα Αποτελέσματα............................. 59 8

Κεφάλαιο 1 Εισαγωγή I do not try to dance be er than anyone else. I only try to to dance be er than myself. M. Baryshnikov 1.1 Integer Factoring Το πρόβλημα της παραγοντοποίησης ακεραίων (Integer-Factoring) είναι ένα από τα πιο γνωστά και παλιά προβλήματα της Θεωρίας Αριθμών. Στην επιστήμη των υπολογιστών, όπου εξέχοντα ρόλο στη μελέτη ενός προβλήματος παίζει η πολυπλοκότητα του, ένα πολύ γνωστό ανοιχτό πρόβλημα είναι κατά πόσο υπάρχει αποδοτικός αλγόριθμος για τον υπολογισμό των πρώτων παραγόντων p 1, p 2,..., p m ενός ακεραίου n = p e 1 1 p e 2 2 p e m Στη γλώσσα της θεωρίας πολυπλοκότητας με τον όρο αποδοτικό αλγόριθμο εννοούμε ρητά έναν αλγόριθμο που εκτελείται σε πολυωνυμικό χρόνο σε σχέση με το μήκος της εισόδου του. Οποιονδήποτε αλγόριθμο δεν εκτελείται σε πολυωνυμικό, αλλά σε εκθετικό χρόνο σε σχέση με το μέγεθος εισόδου, τον θεωρούμε μη αποδοτικό ή, αλλιώς, πρακτικά ανεφάρμοστο. Αντίστοιχα, ένα πρόβλημα για το οποίο δεν έχει βρεθεί πολυωνυμικός αλγόριθμος θεωρείται πρακτικά ανεπίλυτο. Αρχικό βήμα για να ορίσουμε το χρόνο εκτέλεσης ενός αλγορίθμου είναι να δούμε ποιο είναι το μήκος της εισόδου του. Στο πρόβλημα της παραγοντοποίησης αν ο ακέραιος προς παραγοντοποίηση είναι ο αριθμός n, τότε η είσοδος μας είναι μόνο τα log 2 n δυαδικά ψηφία που χρησιμοποιούμε για την αναπαράσταση του, και όχι το απόλυτο μέγεθος του n. Ο τετριμμένος αλγόριθμος παραγοντοποίησης ενός ακεραίου είναι ο εξής: Για είσοδο έναν ακέραιο n ψάξε για πιθανούς διαιρέτες μέχρι τον n Παρατηρούμε, όμως, ότι o απλός αυτός αλγόριθμος είναι εκθετικός ως προς το μήκος της εισόδου, αφού θα πάρει χρόνο n = 2 log 2 n 2. Θα πρέπει λοιπόν να αναζητήσουμε κάποιον άλλο αλγόριθμο για την επίλυση του προβλήματος σε πολυωνυμικό χρόνο. 9 m.

Για να αποσαφηνίσουμε την έννοια της πρακτικής ανεπιλυτότητας ενός προβλήματος για το οποίο δεν έχει βρεθεί πολυωνυμικός αλγόριθμος πρέπει να πούμε ότι υπονοεί πάντα σχετικά μεγάλου μήκους εισόδους. Συγκεκριμένα για το πρόβλημα της παραγοντοποίησης προφανώς δεν είναι αδύνατον να παραγοντοποιήσεις έναν αριθμό με 11 bits, σαν το 1521 π.χ. χρησιμοποιώντας τον προηγούμενο αλγόριθμο. Αντιθέτως είναι πολύ εύκολο. Είναι όμως αδύνατον, σε οσοδήποτε χρόνο, να παραγοντοποιήσεις έναν αριθμό 1024 bits χωρίς τη χρήση πολυωνυμικού αλγορίθμου. Λόγω του ότι πάρα πολλές ερευνητικές προσπάθειες πάνω στο πρόβλημα για πάνω απο 150 χρόνια δεν έχουν καταφέρει να ευοδωθούν, και να βρεθεί πολυωνυμικός αλγόριθμος για την παραγοντοποίηση ακεραίων, εικάζεται ότι δεν υπάρχει τέτοιος αλγόριθμος, γιατί το πρόβλημα είναι, όπως λέγεται, εγγενώς δύσκολο. Πάνω σε αυτή την εικασία της ανυπαρξίας αποδοτικού αλγορίθμου για το Integer-Factoring¹ στηρίζονται σήμερα αρκετά πρωτόκολλα κρυπτογραφίας. Τα πρωτόκολλα αυτά είναι ευρέως γνωστά με το όνομα RSA. Αν κάποτε ανακαλυφθεί πολυωνυμικός αλγόριθμος για το Factoring, τα πρωτόκολλα RSA, πάνω στα οποία βασίζεται ένα πολύ μεγάλο κομμάτι της σύγχρονης κρυπτογραφίας, αυτομάτως θα καταρρεύσουν. Για αυτό το λόγο, το Integer-Factoring να αποτελεί, ίσως, ένα από τα ελάχιστα προβλήματα που οι άνθρωποι θα ήθελαν να είναι πράγματι μη επιλύσιμο σε πολυωνυμικό χρόνο! 1.2 P = NP? Τι ακριβώς σημαίνει, όμως, ότι για ένα πρόβλημα όπως το Factoring δεν υπάρχει πολυωνυμικός αλγόριθμος; Και πως κάτι τέτοιο, η ανυπαρξία δηλ. ενός πολυωνυμικού αλγορίθμου για ένα πρόβλημα, θα μπορούσε να αποδειχθεί μαθηματικά; Η αλήθεια είναι ότι με την απόλυτη έννοια της απόδειξης για κανένα πρόβλημα δεν έχει δειχθεί μέχρι σήμερα ότι δεν επιδέχεται αλγόριθμο πολυωνυμικού χρόνου, και συνεπώς είναι πρακτικά ανεπίλυτο. Στην προσέγγιση αυτού του ζητήματος βρισκόμαστε εξαρχής αντιμέτωποι με το θεμελιώδες ερώτημα της θεωρίας πολυπλοκότητας. Αυτό δεν είναι άλλο από το P = NP?. Το ερώτημα που ουσιαστικά λέει: Είναι τόσο εύκολο να βρω μια λύση σε ένα πρόβλημα, όσο το να επαληθεύσω την ορθότητα της αν ξέρω τη λύση αυτή;. Γνωρίζουμε ότι μια ενδεχόμενη θετική απάντηση στο ερώτημα P = NP?, θα σήμαινε ότι μια πληθώρα σημαντικών όσο και πρακτικών προβλημάτων που ανήκουν στην κλάση NP, και σήμερα θεωρούνται ανεπίλυτα στην πράξη, τελικά επιδέχονται πολυωνυμικού αλγορίθμου και είναι επιλύσιμα σε αποδοτικό χρόνο. Παρόλο που κάτι τέτοιο θα ήταν ιδανικό, υπάρχουν βάσιμες υποψίες να πιστεύουμε ότι δεν είναι αλήθεια. Η πλειοψηφία των ερευνητών πιστεύει δηλ. ότι στην πραγματικότητα ισχύει P NP, παρόλο που τα υπάρχοντα μαθηματικά μας ίσως και να μην επαρκούν για να το αποδείξουμε. Ένα πολύ σημαντικό πρόβλημα στη θεωρία πολυπλοκότητας είναι το λεγόμενο SAT (boolean sa sfiability problem). Ορίζεται ως το πρόβλημα της ικανοποίησης ή όχι μιας λογικής πρότασης που αποτελείται από λεξιγράμματα (δηλ. μεταβλητές ή αρνήσεις τους) που συνδέονται μεταξύ τους με τους τελεστές (and), (or), (not). Η ικανοποίηση ή όχι της πρότασης προκύπτει από την ανάθεση τιμών 0 (false) ή 1 (true) στις μεταβλητές της πρότασης. Ένα στιγμιότυπο του SAT π.χ. είναι: ϕ = (x 1 x 2) (x 2 x 3 ) (x 1 x 3), το οποίο αληθεύει για την ¹ή απλά Factoring 10

ανάθεση x 1 = 1 x 2 = 1 x 3 = 0. Πρέπει επίσης να παρατηρήσουμε ότι για τέτοιου είδους προβλήματα απόφασης, σαν το SAT, τα αληθή στιγμιότυπα τους ορίζουν μια αντίστοιχη γλώσσα. Δηλ. εδώ η γλώσσα SAT αποτελείται από όλες τις αληθεύσιμες λογικές προτάσεις. SAT = { ϕ η ϕ είναι αληθεύσιμη λογική πρόταση}. Ένα πρόβλημα ανήκει στην P όταν υπάρχει για αυτό πολυωνυμικός αλγόριθμος που να το επιλύει. Το SAT ανήκει στην κλάση ΝP. Γενικά ένα πρόβλημα ανήκει στην κλάση NP όταν για κάθε στιγμιότυπο (π.χ. μια λογική πρόταση) του προβλήματος, και δοθέντος ενός πιστοποιητικού (π.χ. μια αληθοποιό τιμοδοσία) να μπορούμε να απαντήσουμε ότι το στιγμιότυπο ανήκει στην αντίστοιχη γλώσσα που ορίζει το πρόβλημα σε πολυωνυμικό χρόνο. Αν μας δώσει κάποιος π.χ. στο SAT μια τιμοδοσία που να καθιστά την πρόταση αληθή μπορούμε να επαληθεύσουμε πολύ έυκολα, απλά αντικαθιστώντας την κάθε μεταβλητή με την τιμή της, ότι το στιγμιότυπο ανήκει στη γλώσσα SAT. Γενικά ισχύει φυσικά ότι P NP, καθώς κάθε πρόβλημα που είναι πολυωνυμικά επιλύσιμο είναι και πολυωνυμικά επαληθεύσιμο. 1.2.1 NP - completeness Αναζητώντας τα όρια της θεωρίας υπολογισμού πριν από κάποια χρόνια (1970) ο Stephen Cook ανακάλυψε ότι το πρόβλημα αυτό, το SAT, είχε μια σχεδόν μαγική ιδιότητα. Μπορούσαν να αναχθούν σε αυτό όλα τα προβλήματα που ανήκαν στην κλάση NP. Το SAT, λοιπόν, συγκέντρωνε όλη την πολυπλοκότητα της κλάσης NP και παράλληλα αντιπροσώπευε όλη τη δυσκολία της. Χαρακτηρίστηκε για αυτό το λόγο NP-complete (NP-πλήρες) πρόβλημα. Αυτό πρακτικά σήμαινε ότι αν κάποτε βρισκόταν ένας πολυωνυμικός αλγόριθμος για το SAT, ταυτόχρονα θα ίσχυε P = NP, και κάθε πρόβλημα στη NP θα έπαυε να είναι δύσκολο. Από τότε πάρα πολλά και γνωστά προβλήματα έχουν αποδειχθεί NP-complete [26] όπως το SAT. Για να αποδειχθεί ένα πρόβλημα A ότι είναι NP-complete, είναι αναγκαίο να δειχτούν δύο πράγματα: (i) A NP και (ii) A is ΝP-hard: που σημαίνει ότι κάθε πρόβλημα στην NP ανάγεται στο Α σε πολυωνυμικό χρόνο. Το σκέλος (ii) γίνεται συνήθως με άμεση αναγωγή από ένα ήδη γνωστό NP-complete πρόβλημα που (χρησιμοποιείται ως βάση) στο πρόβλημα Α, που θέλουμε να δειξουμε complete. Ξεκινώντας δηλ. από το SAT αποδεικνύουμε ότι το SAT ανάγεται σε κάποιο πρόβλημα B σε πολυωνυμικό χρόνο (SAT P B), άρα και το B είναι NP-hard (και μπορεί να χρησιμοποιηθεί ως βάση) κ.ο.κ. Αρκετοί ερευνητές για πάνω από 40 χρόνια προσπαθούσαν, και ίσως προσπαθούν, να βρουν ένα πολυωνυμικό αλγόριθμο για ένα από αυτά τα NP-complete προβλήματα. Ένα τέτοιο αποτέλεσμα, βέβαια, θα μας έδινε άμεσα πολυωνυμικούς αλγορίθμους για όλα τα προβλήματα της κλάσης NP (αφού όλα ανάγονται σε ένα NP-complete), και θα σήμαινε ότι P = NP. Δυστυχώς καμία προσπάθεια από αυτές δεν έχει στεφθεί, μέχρι στιγμής, με επιτυχία, και για αυτό οδηγούμαστε στην, μάλλον, ισχυρή πεποιήθηση ότι υπάρχουν πράγματι προβλήματα που δεν επιδέχονται πολυωνυμικού αλγορίθμου. Ότι υπάρχουν δηλ. εγγενώς δύσκολα προβλήματα, και τελικά ισχύει P NP. Έτσι, πάνω σε αυτή την πεποιήθηση, είναι κοινώς αποδεκτό ότι όταν ένα πρόβλημα αποδεικνύεται NP-complete, αυτόματα θεωρείται απίθανο να μπορεί να επιλυθεί σε αποδοτικό χρόνο. Απαντώντας, λοιπόν, στο αρχικό ερώτημα της ενότητας του πως δείχνουμε ότι ένα πρόβλημα είναι υπολογιστικά δύσκολο και δεν επιδέχεται 11

πολυωνυμικού αλγορίθμου, θα λέγαμε ότι έχουμε μια ισχυρότατη ένδειξη για αυτό όταν το συγκεκριμένο πρόβλημα αποδεικνύεται NP-complete. 1.3 Func on Problems Πριν συνεχίσουμε, είναι μάλλον αναγκαίο να κάνουμε μια διάκριση μεταξύ δυο διαφορετικών ειδών προβλημάτων όπως το SAT και το Factoring -έτσι όπως το ορίσαμε αρχικά. Πρέπει να παρατηρήσουμε ότι τα δυο προβλήματα έχουν μια βασική διαφορά. Σε ένα πρόβλημα σαν το SAT μας δίνεται μια λογική πρόταση, και πρέπει να απαντήσουμε αν υπάρχει ανάθεση τιμών 0 και 1 στις μεταβλητές της που να την ικανοποιεί. Δηλ. η απάντηση μας είναι ναι αν υπάρχει τουλάχιστον μία τέτοια ανάθεση, και όχι αν δεν υπάρχει καμία. Αυτού του είδους τα προβλήματα, που απαντάμε απλά με ναι ή όχι, είναι τα λεγόμενα προβλήματα απόφασης. Από την άλλη στο πρόβλημα του Factoring μας δίνεται ένας σύνθετος αριθμός n και η απάντηση που ζητείται να δώσουμε είναι κάτι παραπάνω από ναι ή όχι. Πρέπει να απαντήσουμε με τους πρώτους παράγοντες του n. Αυτού του είδους τα προβλήματα, που απαιτείται η επιστροφή μιας τιμής στην έξοδο, λέγονται προβλήματα συναρτήσεων. Πολλές φορές είναι εύκολο να βρούμε το αντίστοιχο πρόβλημα συνάρτησης για ένα πρόβλημα απόφασης, και το αντίστροφο. Π.χ. το αντίστοιχο πρόβλημα συνάρτησης του SAT είναι το FSAT και ορίζεται όπως το SAT, με τη μόνη διαφορά ότι αν υπάρχει μια αληθοποιός τιμοδοσία για την πρόταση, θα πρέπει να απαντήσουμε με την τιμοδοσία αυτή, και όχι απλά με ένα ναι. Αν δεν υπάρχει φυσικά τέτοια τιμοδοσία, αρκεί να επιστραφεί ένα όχι. Προς την αντίθετη κατεύθυνση, το αντίστοιχο πρόβλημα απόφασης (decision version) του Factoring το ονομάζουμε Factor και ορίζεται ως εξής. FACTOR: Για έναν ακέραιο n και έναν r < n αν υπάρχει d, 1 < d < r, τέτοιο ώστε d n, επίστρεψε ναι. Αλλιώς, επίστρεψε όχι. Ορίζουμε τώρα ως FNP την κλάση των προβλημάτων συναρτήσεων που τα αντίστοιχα τους προβλήματα απόφασης ανήκουν στην NP. Ως FP ορίζεται η υποκλάση της FΝP που περιλαμβάνει τα προβλήματα συναρτήσεων που λύνονται σε πολυωνυμικό χρόνο. Δηλ FP FNP, σε πλήρη αντιστοιχία με P NP. 1.3.1 FNP completeness Ακριβώς όπως και στην NP, ένα πρόβλημα G είναι FNP-complete αν ισχύουν: (i) G FNP και (ii) G is FNP-hard. Η FNP-completeness ενός προβλήματος συνάρτησης έχει ακριβώς την ίδια βαρύτητα με την NP-completeness κάποιου προβλήματος απόφασης, καθώς ισχύει ότι FP = FNP αν και μόνον αν P = NP [19]. Κατανοούμε, λοιπόν, σύμφωνα με τα παραπάνω ότι αν δείξουμε ότι ένα πρόβλημα είναι FNP-complete τότε το πρόβλημα αυτό είναι, κατά πάσα πιθανότητα (εκτός εάν P = NP), υπολογιστικά δύσκολο. Το πρώτο FNP-complete πρόβλημα που δείχτηκε ήταν το FSAT [19], σε αντιστοιχία με το απλό SAT. 12

Επιστρέφοντας στο πρόβλημα αυτής της διπλωματικής, την Παραγοντοποίηση Ακεραίων, διαπιστώνουμε ότι αν αποδεικνύαμε κάτι αντίστοιχο για το Factoring, ότι δηλ. το Factoring είναι ένα FNP-complete πρόβλημα, θα είχαμε επιτύχει απόλυτα να δείξουμε την εγγενή δυσκολία του. Δυστυχώς, όμως, κάτι τέτοιο δε φαίνεται καθόλου πιθανό να ισχύει. Για να απαντήσουμε γιατί δεν είναι πιθανό, θα πρέπει να ορίσουμε και μια άλλη κλάση πολυπλοκότητας. Αυτή η κλάση είναι η συμπληρωματική της NP, η λεγόμενη co-np. Λέμε, λοιπόν, ότι ένα πρόβλημα ανήκει στην co-np όταν μπορούμε για κάθε στιγμιότυπο του προβλήματος, και δοθέντος ενός πιστοποιητικού, να απαντήσουμε ότι το στιγμιότυπο ΔΕΝ ανήκει στη γλώσσα που ορίζει το πρόβλημα. Π.χ. ένα πρόβλημα που ανήκει στην co-np είναι το SAT. Το SAT ορίζεται ως το συμπληρωματικό πρόβλημα του SAT. Δηλ. δοθείσης μια λογικής πρότασης πρέπει να απαντήσουμε ναι, αν δεν υπάρχει τιμοδοσία που να την καθιστά αληθή, ενώ αν υπάρχει τουλάχιστον μία, να απαντήσουμε όχι. Ένα πιστοποιητικό που να αποκλείει ένα στιγμιότυπο από το να ανήκει στη γλώσσα SAT είναι προφανώς μια αληθοποιός τιμοδοσία. Γενικά, μπορούμε να παρατηρήσουμε ότι για κάθε πρόβλημα A NP, το συμπληρωματικό του, A, co-np. Μπορούμε να δείξουμε τώρα γιατί δεν είναι πιθανό το Factoring να είναι FNP-complete πρόβλημα. Αρχικά παρατηρούμε ότι το Factor, η decision version του Factoring, ανήκει στην NP, καθώς μπορούμε να επαληθεύσουμε για ένα d ότι d n σε πολυωνυμικό χρόνο. Άρα το Factoring FNP. Κατά πάσα πιθανότητα όμως δεν ισχύει ότι Factoring is FNP-hard. Μια αρκετά ισχυρή ένδειξη για αυτό είναι η εξής: Αν το Factoring ήταν FNP-hard τότε θα υπήρχε μια αναγωγή από το FSAT στο Factoring. Επειδή εύκολα αποδεικνύεται ότι SAT m FSAT [19], θα ίσχυε και SAT m Factoring. Αυτή η αναγωγή θα κατασκεύαζε για κάθε πρόταση ϕ του SAT έναν σύνθετο ακέραιο n, έτσι ώστε κάθε λύση του Factoring (δηλ. κάθε γινόμενο πρώτων παραγόντων) θα μας έδινε μια λύση για το SAT (μια απάντηση ναι, ή μια απάντηση όχι). Αυτό σημαίνει ότι αν είχαμε ένα πιστοποιητικό - λύση για το Factoring (π.χ. ένα γινόμενο πρώτων παραγόντων), θα μπορούσαμε να επαληθεύσουμε ότι το SAT δεν έχει λύση για κάποιο στιγμιότυπο. Δηλ. SAT conp. Επειδή, όμως, όπως είπαμε, το SAT είναι NP-complete, θα είχαμε NP = conp. Ένα τέτοιο ενδεχόμενο, να ισχύει δηλ. ισότητα μεταξύ των δύο κλάσεων NP και co- NP, οι ερευνητές το θεωρούν σχεδόν τόσο πιθανό να ισχύει όσο και το P = NP. Καταλήγουμε ότι είναι σχεδόν απίθανο το Factoring να είναι FNP-complete, εκτός και αν NP = co-np. 1.4 TFNP Σύμφωνα με τα προηγούμενα, άρα, η κλάση FΝP δεν μπορεί, πιθανότατα, να μας βοηθήσει να εκφράσουμε τη δυσκολία προβλημάτων σαν το Factoring. Ακολουθώντας παρόμοια βήματα, και στην προσπάθεια τους να εκφράσουν τη δυσκολία του Factoring, ο C. Papadimitriou με τον N. Meggido έκαναν (το 1990) την παρατήρηση ότι το Factoring και ορισμένα άλλα προβλήματα της FNP έχουν κάτι που τα κάνει να διαφέρουν από τα υπόλοιπα προβλήματα της κλάσης. Έχουν, πάντοτε, τουλάχιστον μία λύση (το Factoring ακριβώς μία) για κάθε στιγμιότυπο τους. Για καθένα από αυτά τα προβλήματα υπάρχει ένα θεώρημα που εγγυάται την καθολική ύπαρξη λύσης για κάθε στιγμιότυπο. Π.χ. για κάθε στιγμιότυπο του Factoring γνωρίζουμε, από το Θεμελιώδες Θεώρημα της Θεωρίας Αριθμών, ότι κάθε ακέραιος n αναλύεται 13

σε γινόμενο πρώτων παραγόντων, n = p e 1 1 p e 2 2 p e i i n Z. Σχηματίστηκε με αυτό τον τρόπο μια νέα κλάση πολυπλοκότητας, η TFNP, ως η υποκλάση της FNP που περιέχει, ακριβώς, αυτά τα προβλήματα που έχουν πάντα λύση [17]. Εκτός από το Factoring, πολλά άλλα και γνωστά προβλήματα, από διαφορετικούς μαθηματικούς τομείς, βρίσκονται μέσα στην TFNP. Παραδείγματα τέτοιων total προβλημάτων είναι: Η εύρεση μιας μικτής ισορροπίας Nash σε οποιοδήποτε παίγνιο (2 και άνω παικτών) [21], ή η εύρεση ενός σταθερού σημείου Brouwer σε ένα συμπαγές και κυρτό σύνολο [21]. Το πρώτο πρόβλημα, είναι total από το διάσημο θεώρημα του Nash στη θεωρία παιγνίων [18]. Το δεύτερο, πηγάζει από το θεώρημα του Brouwer που λέει ότι μια συνεχής συνάρτηση F από ένα συμπαγές και κυρτό σύνολο στον εαυτό του έχει ένα σταθερό σημείο, τον υπολογισμό του οποίου ψάχνουμε στο συγκεκριμένο πρόβλημα. Άλλα γνωστά προβλήματα που ανήκουν στην κλάση TFNP είναι: η εύρεση 2 αντιδιαμετρικών σημείων σε μια σφαίρα που αντιστοιχίζονται στο ίδιο σημείο ενός ευκλίδειου χώρου (Borsuk Ulam problem) [21], και η εύρεση ενός τριχρωματικού τριγώνου σε ένα τετράγωνο που οι κορυφές του χρωματίζονται ακολουθώντας κάποιους κανόνες (Sperner problem) [21]. Την πληρότητα των προβλημάτων αυτών εγγυώνται το θεώρημα του Borsuk-Ulam, και το Λήμμα του Sperner αντίστοιχα. 1.4.1 Σημασιολογικές vs Συντακτικές κλάσεις Η ερώτηση που μας έρχεται αυθόρμητα είναι η εξής: Υπάρχει περίπτωση κάποιο από τα παραπάνω προβλήματα, και συνεπώς ίσως και το Factoring, να είναι TFNP-complete, και αποδεικνύοντας το να εγκλωβίσουμε κατά κάποιο τρόπο τη δυσκολία του; Δυστυχώς, η απάντηση είναι πάλι αρνητική. Στην TFNP συναντάμε μια διαφορετική δυσκολία αυτή τη φορά προκειμένου να δείξουμε completeness ενός προβλήματος. Η TFNP δεν είναι μια συνηθισμένη κλάση προβλημάτων σαν τις κλάσεις P, NP, FP, FNP, που ορίσαμε νωρίτερα. Πριν πούμε γιατί δεν είναι συνηθισμένη, πρέπει να αναφέρουμε έναν άλλο τυπικό τρόπο για να ορίζουμε αν ένα πρόβλημα ανήκει σε μια κλάση. Αυτός είναι μέσω των μηχανών Turing (T.M). Η μηχανή Turing είναι το βασικό υπολογιστικό μοντέλο της θεωρίας υπολογισμού. Χωρίζεται σε δύο κύριες κατηγορίες. Τη ντετερμινιστική μηχανή Turing (DTM) και τη μη ντετερμινιστική μηχανή Turing (NTM). Μια ντετερμινιστική T.M (DTM) μπορεί να θεωρηθεί ως ένας πρακτικά υλοποιήσιμος αλγόριθμος σε ένα υπολογιστικό σύστημα. Δέχεται μια είσοδο, και ακολουθώντας διάφορες μεταβάσεις παράγει μια έξοδο. Μια μη ντετερμινιστική T.M (NTM) είναι ένα θεωρητικό μοντέλο που δεν ανταποκρίνεται στην πραγματικότητα, μας βοηθάει όμως να ορίζουμε πότε ένα πρόβλημα ανήκει σε μια κλάση. Μια NTM σε οποιοδήποτε σημείο ενός υπολογισμού μπορεί να έχει περισσότερες από μία δυνατότητες να μεταβεί. Για μία είσοδο δηλ. μπορεί να παράγει πολλές εξόδους (αποδοχής ή απόρριψης) και εν τέλει αποδεχόμαστε αν τουλάχιστον ένας από τους κλάδους υπολογισμού καταλήγει σε αποδοχή. Ένας ισοδύναμος τρόπος να περιγράψουμε τα προβλήματα που ανήκουν στην NP με αυτόν που αναφέραμε νωρίτερα, τη χρήση πιστοποιητικών, είναι ο ακόλουθος: Ένα πρόβλημα ανήκει στην NP αν και μόνο αν υπάρχει NTM που να το διαγιγνώσκει σε πολυωνυμικό χρόνο. 14

Γενικά, λέμε ότι μια Τ.Μ διαγιγνώσκει ένα πρόβλημα όταν τερματίζει πάντα, απαντώντας ναι ή όχι, για κάθε στιγμιότυπο του προβλήματος. Μια NTM δηλ. θα διαγιγνώσκει ένα πρόβλημα αν τουλάχιστον ένας από τους κλάδους υπολογισμού της καταλήγει σε κατάσταση αποδοχής. Αντίστοιχα ένα πρόβλημα ανήκει στην P αν και μόνο αν υπάρχει DTM που να το διαγιγνώσκει σε πολυωνυμικό χρόνο. Βλέπουμε λοιπόν ότι υπάρχει ένας συντακτικός τρόπος να ορίζουμε πότε ένα πρόβλημα ανήκει σε μια από τις δύο κλάσεις. Για αυτό το λόγο, οι P και NP λέγονται συντακτικές κλάσεις προβλημάτων. Για την TFNP, από την άλλη, δεν υπάρχει ένας συντακτικός τρόπος να αναγνωρίσουμε μια μη ντετερμινιστική μηχανή Turing που διαγιγνώσκει ένα πρόβλημα της TFNP. Κάτι τέτοιο θα προϋπέθετε τη δυνατότητα αν μας έδιναν μια τέτοια μηχανή, να αναγνωρίζαμε ότι για κάθε είσοδο έχει, πάντοτε, έναν επιτυχή κλάδο υπολογισμού. Το πρόβλημα αυτό, στη θεωρία υπολογισμού, είναι μη διαγνώσιμο - δηλ. δεν έχει λύση. Η TFNP λέγεται, λοιπόν, μη συντακτική ή αλλιώς σημασιολογική κλάση. Οι σημασιολογικές κλάσεις δεν έχουν, κατά πάσα πιθανότητα, complete προβλήματα. Ο λόγος που συμβαίνει αυτό είναι ο εξής. Κάθε συντακτική κλάση σαν τις P, NP κ.α έχει σίγουρα ένα αρχικό complete πρόβλημα. Αυτό σαν γλώσσα εκφράζεται ως εξής: {(M, x) : M M and M(x) = yes } όπου M είναι το σύνολο των T.M που ορίζουν την κλάση, (π.χ. οι μηχανές πολυωνυμικού χρόνου για την κλάση P). Κάθε complete πρόβλημα μίας συντακτικά ορισμένης κλάσης απολαμβάνει αυτή την ιδιότητα του επειδή υπάρχει μια αναγωγή από την παραπάνω γλώσσα στο πρόβλημα αυτό. Π.χ. η απόδειξη της completeness του SAT έγινε ακριβώς με αναγωγή από αυτή τη γλώσσα της NP προς το SAT. H αντίστοιχη γλώσσα όμως για την κλάση TFNP και για τις άλλες σημασιολογικές κλάσεις [25] είναι μη διαγνώσιμη, όπως αναφέρθηκε μη τυπικά παραπάνω. Άρα συμπεραίνουμε ότι οι σημασιολογικές κλάσεις, σαν την TFNP, στερούνται complete προβλημάτων. 1.4.2 Συντακτικές Υποκλάσεις της TFNP Επιστρέφοντας, λοιπόν, στο αρχικό ζήτημα, ο C. Papadimitriou θέλοντας να εκφράσει με κάποιο τρόπο τη δυσκολία των προβλημάτων της TFNP είχε την εξής πρωτότυπη ιδέα: Αν ένα πρόβλημα είναι total, δηλ. έχει πάντα λύση, θα πρέπει να υπάρχει μια απόδειξη που να εγγυάται την ύπαρξη της λύσης αυτής. Αυτή η απόδειξη θα πρέπει να είναι μη κατασκευαστική, καθώς σε αντίθετη περίπτωση θα μπορούσαμε να κατασκευάσουμε απευθείας από την απόδειξη έναν αποδοτικό αλγόριθμο που να λύνει το πρόβλημα. Ο Papadimitriou παρατήρησε ότι οι αποδείξεις που εγγυούνταν την ύπαρξη λύσης για πολλά από τα προβλήματα της TFNP είχαν κάποιες κοινές αρχές. Βασίζονταν όλες ουσιαστικά σε, από πολύ παλαιότερα, γνωστά πορίσματα της θεωρίας των γράφων. Xώρισε, λοιπόν, τα προβλήματα της TFNP σε συντακτικές υποκλάσεις, ανάλογα με το πόρισμα στο οποίο βασίζεται η απόδειξη του totality του κάθε προβλήματος. Τα πορίσματα αυτά με τις αντίστοιχες κλάσεις που ορίζουν είναι τα εξής: Σε κάθε Διευθυνόμενο Ακυκλικό Γράφημα² υπάρχει ένας κόμβος καταβόθρα [δηλ ένας ²στο εξής ΔΑΓ 15

κόμβος με βαθμό εξόδου 0]. Η αντίστοιχη κλάση που πηγάζει από αυτό το πόρισμα είναι η PLS (Polynomial Local Search). Σε κάθε Διευθυνόμενο Γράφο με βαθμό εξόδου 1 και με ένα κόμβο με βαθμό εισόδου 0, υπάρχει ένας άλλος κόμβος με βαθμό εισόδου τουλάχιστον 2. Η αντίστοιχη κλάση που ορίζει το πόρισμα είναι η PPP (Polynomial Pigeonhole Principle). Σε κάθε Μη Διευθυνόμενο Γράφο το πλήθος των περιττού βαθμού κόμβων, είναι άρτιο. Αυτή η ιδιότητα ορίζει την κλάση PPA (Polynomial Parity Argument). Σε κάθε Διευθυνόμενο Γράφο, με έναν μη ισορροπημένο [βαθμός εισόδου βαθμός εξόδου] κόμβο, υπάρχει και δεύτερος μη ισορροπημένος κόμβος. Έτσι προκύπτει η PPAD (Polynomial Parity Argument in Directed Graphs). Όπως καταλαβαίνουμε καθένα από τα παραπάνω πορίσματα ορίζει ουσιαστικά και ένα πρόβλημα. Το πρόβλημα του να βρούμε αυτόν τον κόμβο που η ύπαρξή του είναι εγγυημένη από το πόρισμα. Σε μια πρώτη ανάγνωση μπορεί κάποιος να διερωτηθεί πως τα παραπάνω πορίσματα είναι μη κατασκευαστικά και εκφράζουν δύσκολα προβλήματα. Δεν είναι δηλ. τετριμμένο δοθέντος ενός γράφου να βρεις έναν κόμβο καταβόθρα σε πολυωνυμικό χρόνο; Η αλήθεια είναι ότι η δυσκολία εξαρτάται από το με ποιο τρόπο δίνεται ο γράφος ως είσοδος. Αν ο γράφος δίνεται ως είσοδος με μία εύλογη κωδικοποίηση, όπως π.χ. ένα πίνακα γειτνίασης, τότε πράγματι μπορούμε να βρούμε πολυωνυμικά, ως προς το πλήθος των κόμβων, ένα κόμβο καταβόθρα. Ένας πίνακας γειτνίασης είναι ένας πίνακας που το στοιχείο του (u, v) θα είναι 1, αν υπάρχει ακμή από τον κόμβο u στο v. Το μέγεθος του πίνακα είναι πάντα πολυωνυμικό ως προς το πλήθος των κόμβων, οπότε ο παραπάνω αλγόριθμος θα ήταν πράγματι πολυωνυμικός ως προς την είσοδο του. Αν όμως ο γράφος ορίζεται έμμεσα, π.χ. μέσω της περιγραφής του από ένα κύκλωμα, το να βρεις έναν τέτοιο κόμβο δεν είναι καθόλου εύκολο. Με τον όρο κύκλωμα εννοούμε απλά μια συνάρτηση που ορίζουμε εμείς, και μπορεί να υπολογίζει την έξοδο της σε πολυωνυμικό χρόνο. Για να διευκρινήσουμε τι εννοούμε, πρέπει αναγκαστικά να μιλήσουμε λίγο πιο μαθηματικά. Η PPAD, λοιπόν, ορίζεται ως η κλάση των προβλημάτων που ανάγονται στο ακόλουθο πρόβλημα που εκφράζει ακριβώς το πόρισμα που αναφέραμε παραπάνω. END OF THE LINE: Δοθέντων δύο κυκλωμάτων S και P, το καθένα από τα οποία έχει n bits εισόδου και n bits εξόδου, τέτοια ώστε S(P (0 n )) 0 n = P (S(0 n )), βρες μια είσοδο x {0, 1} n τέτοια ώστε P (S(x)) x ή S(P (x)) x 0 n Για να κατανοήσουμε το πρόβλημα, πρέπει να σκεφτούμε τα κυκλώματα P, S να ορίζουν ένα διευθυνόμενο γράφημα ως εξής: Υπάρχει ακμή από τον κόμβο u στον κόμβο v, αν και μόνο αν ισχύει S(u) = v και P (v) = u. Από τον ορισμό ισχύει ότι κάθε κόμβος έχει το πολύ βαθμό εισόδου και εξόδου ίσο με 1. Επίσης επειδή S(P (0 n ) 0 n = P (S(0 n ), παρατηρούμε πως ο κόμβος 0 n έχει βαθμό εισόδου 0 και βαθμό εξόδου 1, και για αυτό είναι μη ισορροπημένος. 16

Άρα από το parity argument στους διευθυνόμενους γράφους, θα πρέπει να υπάρχει και ένας δεύτερος μη ισορροπημένος κόμβος, διαφορετικός από την πηγή 0 n. Αν θέλουμε, συνεπώς, να λύσουμε το END OF THE LINE, η προφανής προσέγγιση είναι να ακολουθήσουμε το μονοπάτι από την πηγή 0 n μέχρι να βρεθεί η άλλη άκρη του μονοπατιού, που θα είναι ο κόμβος καταβόθρα που ζητάμε. Αυτός ο τρόπος όμως θα μας πάρει εκθετικό χρόνο ως προς την είσοδο, αφού όλοι οι κόμβοι του γραφήματος που ορίζονται από τα S και P είναι 2 n. Βλέπουμε, άρα, ότι αν θέλει κάποιος να λύσει το πρόβλημα γρηγορότερα ο μόνος τρόπος είναι να βρει έναν τρόπο να τηλεσκοπήσει το γράφημα, κοιτώντας κάπως στις λεπτομέρειες των κυκλωμάτων S και P... Φαίνεται, λοιπόν, ότι το END OF THE LINE είναι, όντως, ένα πειστικά δύσκολο πρόβλημα. Για τον τυπικό ορισμό των άλλων συντακτικών υποκλάσεων (PLS, PPP, PPA) της TFNP, που όρισε ο Papadimitriou, χρησιμοποιούνται αντίστοιχα προβλήματα με το END OF THE LINE, τα οποία θα οριστούν αυστηρά στο 2ο κεφάλαιο. Εντούτοις, αποκτάμε από το END OF THE LINE μια σοβαρή διαίσθηση γιατί αυτές οι κλάσεις, που βασίζονται σε πορίσματα της θεωρίας γράφων, είναι κλάσεις που θεωρούνται ότι όντως εκφράζουν διάφορα δύσκολα προβλήματα. Άρα, επιστρέφοντας σε όσα λέγαμε προηγουμένως, μια πιθανή απόδειξη για ένα πρόβλημα ότι είναι complete σε κάποια από αυτές τις κλάσεις, π.χ. PPAD-complete, θα αποτελούσε συνάμα μια πολύ ισχυρή ένδειξη της υπολογιστικής δυσκολίας του προβλήματος. Πόσο ισχυρή; Η αλήθεια είναι αναγκαστικά λίγο λιγότερο ισχυρή από την FNP-completeness, αφού όλες αυτές οι κλάσεις βρίσκονται μέσα στην FNP, και συνεπώς θα μπορούσε να ισχύει FNP FP, και PPAD = FP. Δε φαίνεται όμως κι αυτό καθόλου πιθανό ενδεχόμενο. Η πιθανότητα, τέλος, να ισχύει κάτι τέτοιο μειώνεται όσο περισσότερα complete προβλήματα βρίσκονται σε αυτή την κλάση. 1.4.3 Complete Προβλήματα στις Υποκλάσεις Μέχρι στιγμής, από τότε που ορίστηκαν οι υποκλάσεις της TFNP, έχουν αποδειχτεί complete σε αυτές αρκετά προβλήματα. Συγκεκριμένα, στην PLS, που ήταν και η πρώτη υποκλάση της TFNP που ορίστηκε, έχουν αποδειχτεί ότι είναι complete προβλήματα τοπικής αναζήτησης όπως: Η εύρεση ενός τοπικού ελάχιστου στο Lin-Kernighan ευρετικό αλγόριθμο για το TSP (Travelling Salesman Problem) [22], ή η εύρεση σταθερής διαμόρφωσης (μιας κατάστασης που συγκλίνει ένα δίκτυο) σε νευρωνικά δίκτυα Hopfield [14]. Στην PPA ο M.Grigni το 2001 απέδειξε ότι μια ειδική περίπτωση του Sperner, του προβλήματος που αναφέραμε πριν, είναι complete [12], αλλά πέραν αυτού δεν έχει δειχτεί κάποιο άλλο complete πρόβλημα. Στην PPP δεν έχουν βρεθεί ακόμα complete προβλήματα. Κατά πάσα πιθανότητα υπάρχουν και στις δυο αυτές κλάσεις αρκετά complete προβλήματα που δεν έχουν βρεθεί ακόμα, καθώς και η PPP και η PPA είναι πιο δύσκολες κλάσεις από την PPAD, αφού PPAD PPP και PPAD PPA, όπως αποδεικνύεται στο [21], και η PPAD περιέχει όπως θα δούμε τα πιο πολλά complete προβλήματα. Η PPAD, λοιπόν, είναι η κλάση που έχουν βρεθεί τα περισσότερα, μέχρι σήμερα, complete προβλήματα και συγκεντρώνει, για αυτό το λόγο, το μεγαλύτερο ενδιαφέρον. Στο [21] o Papadimitriou αποδεικνύει την PPAD completeness των υπολογιστικών προβλημάτων 3D-Sperner, 17

Brouwer Fixed-Point, Kakutani (γενίκευσης του προβλήματος του Brouwer) και του Borsuk- Ulam problem. Μέχρι πρόσφατα υπήρχε και στην PPAD μια στασιμότητα όσον αφορά την ανεύρεση νέων complete προβλημάτων, αλλά οι Daskalakis και Papadimitriou ανακάλυψαν το 2006 ότι η εύρεση μιας μικτής ισορροπίας Nash σε οποιοδήποτε παίγνιο άνω των 3 παικτών είναι ένα PPAD-complete πρόβλημα [9]. Με το αποτέλεσμα αυτό έδωσαν εκ νέου ερευνητικό ενδιαφέρον και προσοχή στις υποκλάσεις της TFNP. Έτσι, αμέσως μετά οι X.Chen και X.Deng απέδειξαν ότι το Nash ακόμα για 2 παίκτες [7] και επίσης το Sperner στις 2 διαστάσεις είναι PPAD-complete προβλήματα [6]. Και τα τρία τελευταία αποτελέσματα είναι εξαιρετικά σημαντικά, καθώς, εκτός των άλλων, φέρνουν κοντά δυο σχετικά πρόσφατους επιστημονικούς κλάδους, την Υπολογιστική Πολυπλοκότητα και την Αλγοριθμική Θεωρία Παιγνίων. Το πιο σημαντικό αποτέλεσμα, όμως, κατά τη γνώμη μας, είναι η PPAD-completeness του Nash, που δείχτηκε από τους Daskalakis και Papadimitriou. Αυτό, γιατί η συγκεκριμένη απόδειξη μας δείχνει και κάτι άλλο σε δεύτερη ανάγνωση. Ότι είναι δυνατόν η δυσκολία ενός προβλήματος της TFNP, όπως το Nash, που εκ πρώτης όψεως δε φαίνεται συνδυαστικού χαρακτήρα, όπως είναι π.χ. τα Sperner και Brouwer Fixed-Point, να μπορεί να εκφραστεί κι αυτή πλήρως μέσω της PPAD, ή κάποιας άλλης υποκλάσης της TFNP. Αυτό το συμπέρασμα πιστεύουμε είναι πολύ σημαντικό. Ο λόγος είναι ότι είναι η πρώτη φορά που ένα μη συνδυαστικό πρόβλημα αποδεικνύεται complete σε κάποια από τις υποκλάσεις της TFNP και δείχνει ότι ίσως αυτές οι κλάσεις χαρακτηρίζουν περισσότερα προβλήματα από όσα αρχικά διαφαινόταν. Μας δίνεται έτσι η δυνατότητα να υποθέσουμε ότι, πιθανότατα, υπάρχουν και άλλα προβλήματα στην TFNP σαν το Nash που δεν είναι καθαρά συνδυαστικά, αλλά στη βάση τους ίσως κρύβονται καλά κρυμμένα κάποια συνδυαστικά επιχειρήματα. Το Factoring, το κύριο πρόβλημα, όπως είπαμε, με το οποίο θα ασχοληθούμε σε αυτή τη διπλωματική, ίσως είναι ένα από αυτά! Αν θέλαμε, λοιπόν, να προσδιορίσουμε σε μια παράγραφο τους στόχους αυτής της διπλωματικής εργασίας, θα λέγαμε ότι είναι οι εξής: α) Να αναλύσουμε τυπικά μαθηματικά τα συνδυαστικά επιχειρήματα που βρίσκονται πίσω από κάθε μία από τις υποκλάσεις της TFNP, που όρισε ο Papadimitriou, και να κατανοήσουμε γιατί αυτές οι κλάσεις φαίνεται, όντως, να ορίζονται μέσω δύσκολων προβλημάτων. β) Να παρουσιάσουμε τις βασικές αρχές και τα θεμελιώδη θεωρήματα της Θεωρίας Αριθμών πάνω στα οποία βασίζεται το Factoring, καθώς και τις εφαρμογές που στηρίζονται στη διαφαινόμενη δυσκολία του προβλήματος. γ) Ιδανικά να βρούμε μία εκ των PPP, PPAD, PPA, συντακτικών υποκλάσεων, της TFNP στην οποία ανήκει το Integer-Factoring. δ) Και ιδανικότερα να δείξουμε ότι το πρόβλημα του Ιnteger-Factoring είναι complete σε μια από αυτές τις κλάσεις. 18

Κεφάλαιο 2 Οι Υποκλάσεις της TFNP The origins of graph theory are humble, even frivolous. N. Biggs, E. K. Lloyd, and R. J. Wilson 2.1 TFNP FNP Κάθε πρόβλημα της κλάσης FNP ορίζεται ως εξής: Έστω μια σχέση R Σ Σ υπολογίσιμη σε πολυωνυμικό χρόνο. Δοθέντος ενός x Σ, βρες αν υπάρχει y Σ, με y p( x ), έτσι ώστε (x, y) R. Αλλιώς, αν δεν υπάρχει τέτοιο y δηλ., επίστρεψε όχι. Ότι μια σχέση R είναι υπολογίσιμη σε πολυωνυμικό χρόνο σημαίνει ότι υπάρχει μια T.M, M R, η οποία δέχεται ως εισόδους τα x, y, και αποφαίνεται σε πολυωνυμικό χρόνο αν x, y R. Το μήκος της εισόδου είναι x + y, εξού και η απαίτηση το y να είναι πολυώνυμο του x, παραπάνω. Ένα πρόβλημα της TFNP, τώρα, ορίζεται ως εξής: Έστω μια σχέση R Σ Σ υπολογίσιμη σε πολυωνυμικό χρόνο η οποία όμως είναι πλήρης. Δηλ. ισχύει ότι x Σ y Σ, με y p( x ), έτσι ώστε (x, y) R. Δοθέντος ενός x, βρες ένα τέτοιο y, που σίγουρα υπάρχει. Λόγω, όμως, όπως αναφέραμε και στην εισαγωγή, του ότι δεν υπάρχει συντακτικός τρόπος να αναγνωρίζουμε αν έναν πρόβλημα ανήκει στην TFNP, η TFNP είναι μια σημασιολογική κλάση. Και είπαμε ότι οι σημασιολογικές κλάσεις στερούνται, κατά πάσα πιθανότητα, complete προβλημάτων. Προκύπτει έτσι η ανάγκη διαχωρισμού της TFNP στις διάφορες συντακτικές της υποκλάσεις, προκειμένου να αναζητήσουμε μέσα σε αυτές, ενδεχομένως, κάποια complete προβλήματα. Οι γνωστές συντακτικές υποκλάσεις της TFNP που έχουν βρεθεί μέχρι σήμερα είναι οι PPA, PPAD, PPADS, PPP και PLS [21]. Σε αυτό το κεφάλαιο θα ορίσουμε, αυστηρά, τις συντακτικές υποκλάσεις της TFNP. Θα παρουσιάσουμε τα γραφοθεωρητικά λήμματα στα οποία βασίζονται οι υποκλάσεις αυτές, και θα καταγράψουμε τυπικά τα προβλήματα που εκφράζουν τα παραπάνω λήμματα. 19

Θα δούμε ότι κάθε γραφοθεωρητικό λήμμα μπορεί να εκφραστεί από παραπάνω από ένα προβλήματα τα οποία είναι ισοδύναμα μεταξύ τους. Αυτό έχει ως αποτέλεσμα καθεμία από τις παραπάνω κλάσεις να μπορεί εν τέλει να εκφραστεί μέσω προβλημάτων τα οποία είναι ευκολότερα μεταχειρίσιμα, π.χ. περιλαμβάνουν γραφήματα με πολύ μικρότερους βαθμούς. Το προηγούμενο είναι κάτι που μας βοηθάει όταν θέλουμε να εντάξουμε, ή ακόμα καλύτερα να δείξουμε complete, σε μία από τις παραπάνω κλάσεις άλλα προβλήματα, μέσω απεικονιστικών αναγωγών. 2.2 PPA Το βασικό λήμμα της θεωρίας των γράφων στο οποίο βασίζεται η υποκλάση της TFNP, PPA (Polynomial Parity Argument), είναι το εξής: 2.2.1 Λήμμα. Κάθε μη διευθυνόμενος γράφος έχει άρτιο πλήθος κόμβων περιττού βαθμού Από το λήμμα συνεπάγεται, προφανώς, ότι αν ένα γράφημα G έχει ένα κόμβο περιττού βαθμού, τότε θα πρέπει να έχει τουλάχιστον έναν ακόμα. Ονομάζουμε ODD το πρόβλημα που προκύπτει από το παραπάνω λήμμα. ODD: Δοθέντος ενός μη διευθυνόμενου γραφήματος G και ενός κόμβου περιττού βαθμού, βρες ένα δεύτερο κόμβο περιττού βαθμού. Ένα στιγμιότυπο του ODD φαίνεται στο παρακάτω σχήμα. odd. odd odd odd Σχήμα 2.1: Στιγμιότυπο του ODD Μια ειδική περίπτωση του παραπάνω λήμματος προκύπτει όταν φράσσουμε το μέγιστο βαθμό κάθε κόμβου στο γράφημα G. Π.χ. αν πάρουμε για κάθε κόμβο v, deg(v) 2, θα προκύψει ένα γράφημα σαν του Σχήματος 2.2. Παρατηρούμε ότι στο συγκεκριμένο γράφημα οι μόνοι περιττού βαθμού κόμβοι είναι τα φύλλα του G, με βαθμό: deg(leaf) = 1. Το πρόβλημα της εύρεσης ενός περιττού βαθμού κόμβου μετατρέπεται σε πρόβλημα εύρεσης ενός φύλλου. Ονομάζουμε το πρόβλημα αυτό LEAF. 20

leaf. leaf Σχήμα 2.2: Στιγμιότυπο του LEAF, degree(g) 2 2.2.2 Ορισμός. Ένας κόμβος v ενός μη διευθυνόμενου γραφήματος G = (V, E) είναι φύλλο του G, αν και μόνο αν¹ deg(v) = 1 LEAF: Δοθέντος ενός μη διευθυνόμενου γραφήματος G και ενός φύλλου, βρες ένα δεύτερο φύλλο του G. Εκ πρώτης όψεως, το LEAF φαίνεται ευκολότερο πρόβλημα από το ODD, καθώς αποτελεί ειδική περίπτωσή του. Θα αποδείξουμε όμως στη συνέχεια ότι δεν είναι έτσι. Ισχύει ότι τα δύο αυτά προβλήματα είναι υπολογιστικά ισοδύναμα, και ότι το LEAF αρκεί από μόνο του για να εκφράσει τη δυσκολία της PPA. Μια δεύτερη διατύπωση του βασικού λήμματος, που αναφέραμε παραπάνω, είναι η εξής: 2.2.3 Λήμμα. Κάθε μη διευθυνόμενος γράφος με περιττό συνολικό πλήθος κόμβων έχει περιττό πλήθος κόμβων άρτιου βαθμού. Εκ πρώτης όψεως το Λήμμα 2.2.2 φαίνεται ως μια εξειδίκευση του Λήμματος 2.2.1 στην περίπτωση που το συνολικό πλήθος των κόμβων του G είναι περιττό. Στην πραγματικότητα, όμως, τα δύο Λήμματα είναι ισοδύναμα, και αποδεικνύονται και τα δύο πολύ εύκολα με βάση τη σχέση του Euler για μη διευθυνόμενα γραφήματα Σ v V deg(v) = 2 E, όπου E το πλήθος των ακμών του G. Το πρόβλημα, τώρα, που πηγάζει από το Λήμμα 2.2.2 είναι το πρόβλημα EVEN. EVEN: Δοθέντος ενός μη διευθυνόμενου γραφήματος G με περιττό πλήθος κόμβων, βρες έναν κόμβο με άρτιο βαθμό. Ένα στιγμιότυπο του EVEN φαίνεται στο Σχήμα 2.3. Όπως και στην περίπτωση του ODD, μπορούμε και εδώ να θεωρήσουμε μια εξειδίκευση του EVEN για γραφήματα που φράσσονται αυτή τη φορά με βαθμό: deg(g) 1. Ονομάζουμε το πρόβλημα μας LONELY αυτή τη φορά και αυτό ορίζεται ως εξής. ¹στο εξής ανν 21

even. even even Σχήμα 2.3: Στιγμιότυπο του EVEN LONELY: Δοθέντος ενός μη διευθυνόμενου γραφήματος G = (V, E), με περιττό πλήθος κόμβων και deg(v) 1, v V, βρες έναν κόμβο που δε ζευγαρώνει με κανέναν άλλο.. lonely Σχήμα 2.4: Στιγμιότυπο του LONELY, degree(g) 1 Αναγωγές 2.2.4 Ορισμός. Λέμε ότι ένα πρόβλημα A TFNP, ανάγεται απεικονιστικά σε πολυωνυμικό χρόνο σε ένα πρόβλημα Β ΤFNP, και γράφουμε Α m Β, αν f, g πολυωνυμικά υπολογίσιμες συναρτήσεις τέτοιες ώστε: (x, g(y)) R A (f(x), y) R B Ουσιαστικά δηλ. A m B, όταν μπορούμε από κάθε στιγμιότυπο x του A να δημιουργήσουμε ένα στιγμιότυπο f(x) του B, και για κάθε λύση y του f(x) να πάρουμε μια λύση g(y) για το πρόβλημα Α. Πως μπορούμε να πάρουμε όμως μια λύση για το B χωρίς να το επιλύσουμε; Η σημασία της αναγωγής μεταξύ δύσκολων προβλημάτων είναι ακριβώς αυτή. Υποθέτουμε ότι αν βρεθεί με κάποιο μαγικό τρόπο μια λύση για το πρόβλημα B, τότε αυτομάτως θα μπορούμε εμείς να βρούμε μία λύση και για το A. Ο μαγικός τρόπος που μας δίνεται μια λύση για το B, διατυπώνεται πολλές φορές και με τη φράση. Δοθέντος ενός μάντη (oracle) για το B,.... Θα αποδείξουμε τώρα τις εξής αναγωγές για τα προβλήματα της PPA: (i) LEAF m LONELY (ii) ODD m LEAF (iii) EVEN m ODD Πριν προχωρήσουμε στην απόδειξη των αναγωγών πρέπει να ξεκαθαρίσουμε ποια είναι η είσοδος στο κάθε πρόβλημα μας. Πρέπει να γίνει κατανοητό ότι η είσοδος σε καθένα από τα 22

προβλήματα που διατυπώσαμε προηγουμένως είναι πάντοτε ένα κύκλωμα. Το κύκλωμα αυτό θα πρέπει να μπορεί να υπολογίζει για μια είσοδο x, την έξοδο y σε πολυωνυμικό χρόνο. Αν αναπτυχθεί εκθετικά για όλες τις εισόδους του x {0, 1} n, θα μας δίνει φυσικά το γράφο του προβλήματος. Για αυτό παρακάτω όπου αναφέρεται ο γράφος ως είσοδος εννοείται, φυσικά, το κύκλωμα που παριστά το γράφο, και όχι ολόκληρος ο γράφος. Το γράφουμε έτσι μόνο για μαθηματική και εννοιολογική ευκολία. (i) LEAF m LONELY Για είσοδο το γράφο G 1 του LEAF, θα κατασκευάσουμε το γράφο G 2 του LONELY ως εξής: Ο G 2 θα έχει όλους τους κόμβους v του G 1 συν ένα κόμβο v, v. Η τοποθέτηση των ακμών μεταξύ των κόμβων, τώρα, θα πρέπει να γίνει με τέτοιο τρόπο έτσι ώστε τα φύλλα του γράφου G 1 να αποτελούν ακριβώς τους απομονωμένους κόμβους του G 2. Η αναγωγή θα έχει ως εξής: α) Αν ο v είναι απομονωμένος κόμβος του G 1, τότε στο G 2 βάζουμε ακμή v v β) Αν ο v έχει στο G 1 ακριβώς ένα γείτονα τον u, και ο u έχει κι αυτός μοναδικό γείτονα τον v, τότε στο G 2 βάζουμε ακμή v u. γ) Αν ο v έχει μοναδικό γείτονα τον u στο G 1, και ο u έχει 2 γείτονες, τότε διακρίνουμε περιπτώσεις: 1. Αν ο v προηγείται λεξικογραφικά του άλλου γείτονα του u, τότε βάζουμε ακμή v u. 2. Αλλιώς, βάζουμε ακμή v u. (δ) Αν ο v έχει 2 γείτονες, u, w, στο G 1, και ο u προηγείται λεξικογραφικά του w τότε διακρίνουμε τις περιπτώσεις: 1. Αν ο u έχει 2 γείτονες και ο v είναι ο πρώτος λεξικογραφικά γείτονας του, τότε βάζουμε v u. 2. Αλλιώς, βάζουμε v u. Αντιστοίχως: 3. Αν ο w έχει 2 γείτονες και ο v είναι ο πρώτος λεξικογραφικά γείτονας του, τότε βάζουμε v w. 4. Αλλιώς, βάζουμε v w. Η απεικονιστική αναγωγή που περιγράψαμε φαίνεται στην εικόνα 2.5. Οι κόμβοι με γκρι χρώμα και οι διακεκομμένες γραμμές αποτελούν το G 1, και όλοι οι κόμβοι (μπλε και γκρι) και οι έντονες γραμμές το G 2. Για την ορθότητα της αναγωγής καταρχάς παρατηρούμε οι (α)-(δ) είναι όλες οι περιπτώσεις για δύο κόμβους v, u σε ένα στιγμιότυπο του LEAF. Το LEAF δέχεται είσοδο το γράφο 23

011 010 001 011 leaf 000 000 leaf leaf 010 001 leaf u.. 100 w 101 v 111 u 110 100 101 w 111 v 110 Σχήμα 2.5: LEAF m LONELY G 1 (μέσω ενός κυκλώματος) και το φύλλο 000. Αφού το 000 είναι φύλλο στο G 1, θα γίνει απομονωμένος κόμβος στο G 2, μέσω της αναγωγής. Άρα ένας μάντης για το LONELY θα μας επιστρέψει τουλάχιστον έναν ακόμα απομονωμένο κόμβο του G 2, ή έναν περιττό αριθμό, ακόμα, από αυτούς. Παρατηρούμε ότι από τις περιπτώσεις (α) και (δ) αποκλείεται να προκύψει απομονωμένος κόμβος. Οι μόνες περιπτώσεις που μπορούν να μας δώσουν απομονωμένους κόμβους στο G 2 είναι οι (β) και η (γ). Άρα ένας απομονωμένους κόμβος στο G 2 είναι σίγουρα ένα φύλλο του G 1. (ii) ODD m LEAF Η αναγωγή αυτή είναι, πιθανόν, η πιο πολύπλοκη από τις τρεις, αλλά και η πιο σημαντική, καθώς είναι αυτή που μας λέει ότι η εύρεση ενός περιττού κόμβου σε έναν οσοδήποτε μεγάλο γράφο είναι εξίσου δύσκολη με την εύρεση ενός ίδιου κόμβου σε ένα φραγμένου βαθμού γράφο. Η αναγωγή είναι η παρακάτω: Αν G 1 = (V 1, E 1 ) το γράφημα του ODD κατασκευάζουμε ένα G 2 = (V 2, E 2 ) γράφημα για το LEAF ως εξής: Καταρχάς για κάθε κόμβο v i V 1, με βαθμό κόμβου deg ( v i ) δημιουργούμε deg(v i )/2 κόμβους στο G 2, τους οποίους ονομάζουμε v i,j, για j = {1,..., deg(v i )/2 }. Στο παρακάτω σχήμα φαίνεται πως δημιουργούνται οι κόμβοι του G 2 από κάθε κόμβο του G 1. Οι ακμές του G 2 προκύπτουν από ένα, σχετικά, σύνθετο κανόνα. Θεωρούμε κάθε κόμβο v i,j του G 2 να ορίζει ένα αντίστοιχο σύνολο, ας το ονομάσουμε V i,j. Λέμε ότι μια κορυφή v k του G 1 ανήκει στο σύνολο V i,j, ανν ο v k είναι στο G 1 ο, κατά αλφαριθμητική σειρά, (2j 1)- οστός, ή 2j-οστός γείτονας του v i. 24

v 5 v 5,2 v 5,1 v 2 v 6. v 2,1 v 6,3 v 3 v 6,1 v 6,2 v 3,1 v 3,2 v 1 v 4 v 1,1 v 4,1 Σχήμα 2.6: ODD m LEAF Π.χ. στο παραπάνω παράδειγμα, αν θεωρήσουμε ότι η σειρά των κόμβων v 1,..., v 6 είναι αλφαριθμητική, έχουμε: V 1,1 = {v 3, v 6 }, V 2,1 = {v 5, v 6 }, V 3,1 = {v 1, v 4 }, V 3,2 = {v 5, v 6 }, V 4,1 = {v 3, v 6 }, V 5,1 = {v 2, v 3 }, V 5,2 = {v 6 }, V 6,1 = {v 1, v 2 }, V 6,2 = {v 3, v 4 }, V 6,3 = {v 5 }. Ουσιαστικά, αυτό που γίνεται είναι ότι για κάθε έναν κόμβο του G 1 δημιουργούμε όσους κόμβους χρειάζονται στο G 2 έτσι ώστε κάθε νέος κόμβος να έχει βαθμό το πολύ 2 στο νέο γράφημα. Όσον αφορά τη σύνδεση, τώρα, δύο κόμβων στο G 2 έχουμε: Ένας κόμβος v i,j ενώνεται με τον κόμβο v κ,λ στο G 2, ανν v κ V i,j και v i V κ,λ. Π.χ. στο παραπάνω στιγμιότυπο υπάρχει ακμή στο G 2 μεταξύ v 6,2 και v 3,2 γιατί v 6 V 3,2 και v 3 V 6,2. Εξ ορισμού των συνόλων V i,j, λοιπόν, κάθε κόμβος v i,j θα είναι συνδεδεμένος με 1 ή με 2 άλλους κόμβους του γραφήματος. Η μόνη περίπτωση να είναι με 1 μόνο κόμβο συνδεδεμένος είναι όταν το V i,j είναι το τελευταίο σύνολο του v i και το v i είναι κόμβος περιττού βαθμού. Έτσι ένας κόμβος v i του G 1 είναι περιττού βαθμού, αν και μόνον αν ο κόμβος u i,m, όπου m = deg(v i )/2, του G 2 είναι φύλλο. Στο Σχήμα 2.6 δοθέντος ενός κόμβου περιττού βαθμού, π.χ. του v 5, η εύρεση ενός δεύτερου ίδιου κόμβου, του v 6, ανάγεται στο πρόβλημα της εύρεσης του φύλλου v 6,3, δοθέντος του φύλλου v 5,2. (iii) EVEN m ODD Για κάθε είσοδο του EVEN και γράφημα G 1 με τον κόμβο 000 να είναι άρτιου βαθμού, δημιουργούμε ένα γράφημα G 2 του ODD ως εξής: Προσθέτουμε στο G 1,αν δεν υπάρχει ήδη, κάθε ακμή της μορφής (v, u), όπου v, u είναι κόμβοι που έχουν όλα τα δυαδικά ψηφία τους ίδια εκτός από το τελευταίο. Κάθε ακμή αυτής της μορφής που υπάρχει στο G 1 τη διαγράφουμε. Με αυτό τον τρόπο καταφέρνουμε να μετατρέψουμε όλους τους κόμβους άρτιου βαθμού σε περιττού και το αντίστροφο. 25

Η ορθότητα της αναγωγής βασίζεται στο ότι παίρνουμε τους κόμβους ανά ζεύγη και έτσι ο βαθμός ενός κόμβου ή θα αυξηθεί, ή θα μειωθεί κατά ένα. Αποκλείεται, όμως, να κάνει και τα δύο. Επίσης ο κόμβος 000 που είναι άρτιος στο G 1, στο G 2 θα είναι περιττός. Άρα στο G 2 θα υπάρχει, τουλάχιστον, ένας ακόμα περιττός κόμβος τον οποίο θα μας επιστρέψει ένας μάντης του ODD. Οι λύσεις που θα επιστρέψει το ODD, λοιπόν, στο G 2 θα είναι ακριβώς οι λύσεις του EVEN στο G 1. Μια γραφική απεικόνιση της αναγωγής φαίνεται στο παρακάτω Σχήμα. Αναπαριστώνται με διακεκομμένες γραμμές οι συνδέσεις των κόμβων στο G 1 και με έντονες και διακεκομμένες οι συνδέσεις στο G 2. Οι άρτιοι κόμβοι του αρχικού G 1 που γίνονται περιττοί στο G 2 είναι οι κίτρινοι, ενώ οι περιττοί του G 1 που γίνονται άρτιοι στο G 2 είναι οι γκρι. 000. 001 010 011 110 100 111 101 Σχήμα 2.7: EVEN m ODD Με βάση τις τρεις παραπάνω αναγωγές καθώς και τις άμεσες αναγωγές LEAF m ODD και LONELY m EVEN, καθότι τα LEAF και LONELY αποτελούν ειδικές περιπτώσεις των ODD και EVEN αντίστοιχα, αποδείξαμε ότι και τα τέσσερα προβλήματα είναι ισοδύναμα μεταξύ τους και εκφράζουν όλα τη δυσκολία της κλάσης PPA. Μπορούμε, λοιπόν, εν τέλει να περιγράψουμε την PPA ως την κλάση των προβλημάτων που ανάγονται στο πρόβλημα LONELY. Βάσει της ορθής και αυστηρής περιγραφής μέσω ενός δυαδικού κυκλώματος C το LONELY μπορεί να περιγραφεί ως εξής: LONELY: Δοθέντος ενός δυαδικού κυκλώματος C που υπολογίζει μια συνάρτηση C : {0, 1} n {0, 1} n τέτοια ώστε C(0 n ) = 0 n, επίστρεψε (i) x {0, 1} n \0 n τέτοιο ώστε C(x) = x ή (ii) x {0, 1} n τέτοια ώστε C(x) = y, αλλά C(y) x. Αν θέλουμε να ερμηνεύσουμε το παραπάνω σαν γράφο, όπως το περιγράψαμε προηγουμένως, σκεφτόμαστε ως εξής: Υπάρχει ακμή που συνδέει τους κόμβους x, y {0, 1} n μεταξύ 26

τους, ανν C(x) = y και C(y) = x. Έτσι οι περιπτώσεις (i) και (ii) επιστρέφουν τους κόμβους που δε ζευγαρώνουν με κανέναν άλλο. Να σημειώσουμε ότι οι περισσότερες από τις αναγωγές που παρουσιάσαμε, και θα παρουσιάσουμε στο Κεφάλαιο αυτό, βρίσκονται, ίσως σε μια όχι τόσο αναλυτική μορφή, στο σημαντικό paper [3] των P. Beame, S. Cook, R. Impagliazzo κ.α... 2.3 PPAD-PPADS Το γραφοθεωρητικό λήμμα των PPAD-PPADS (Polynomial Parity Argument on Directed Graphs) είναι κοινό και είναι το εξής: 2.3.1 Λήμμα. Σε κάθε διευθυνόμενο γράφο με ένα μη ισορροπημένο κόμβο θα υπάρχει τουλάχιστον ένας ακόμα μη ισορροπημένος κόμβος. 2.3.2 Ορισμός. Ένας κόμβος v V ενός διευθυνόμενου γραφήματος G = (V, E) είναι μη ισορροπημένος, ανν Σdeg in (v) Σdeg out (v) Αρχικά παρατηρούμε ότι το λήμμα αυτό δεν είναι τίποτα άλλο παρά το λήμμα της PPA σε διευθυνόμενα γραφήματα. Αξίζει εδώ να σημειώσουμε, όμως, ότι το Λήμμα 2.3.1 δε συνεπάγεται ότι ο συνολικός αριθμός των μη ισορροπημένων κόμβων στο γράφημα μας θα είναι άρτιος, όπως συμβαίνει με το αντίστοιχο Λήμμα 2.2.1 για μη διευθυνόμενα γραφήματα. 2.3.1 PPAD Το πρόβλημα που προκύπτει από το παραπάνω λήμμα, και ορίζει την PPAD, είναι φυσικά το να βρούμε έναν μη ισορροπημένο κόμβο v. Το ονομάζουμε IMBALANCE. IMBALANCE: Δοθέντος ενός διευθυνόμενου γραφήματος G, και ενός v V, τέτοιου ώστε Σdeg in (v) < Σdeg out (v), να βρεις u v V με Σdeg in (v) Σdeg out (v), imb/d. imb/d imb/d Σχήμα 2.8: Στιγμιότυπο του IMBALANCE Όπως και στην περίπτωση της PPA μπορούμε να ανάγουμε το IMBALANCE σε ένα πρόβλημα με φραγμένο βαθμό για τους κόμβους του G. Έτσι αν απαιτήσουμε deg in,out (v) 27

1, v, προκύπτει το παρακάτω ισοδύναμο με το IMBALANCE, όπως θα δείξουμε στη συνέχεια, πρόβλημα. SOURCE OR SINK: Δοθέντος ενός διευθυνόμενου γραφήματος G, και ενός κόμβου-πηγή, βρες έναν κόμβο-καταβόθρα, ή ένα δεύτερο κόμβο-πηγή. source. source sink sink Σχήμα 2.9: Στιγμιότυπο του SOURCE OR SINK, degree in,out (G) 1 2.3.3 Ορισμός. Ένας κόμβος v ενός διευθυνόμενου γραφήματος G = (V, E) λέγεται κόμβοςπηγή, εάν deg in (v) = 0 και deg out (v) 1, και κόμβος-καταβόθρα, εάν deg out (v) = 0 και deg in (v) 1 Φυσικά ισχύει SOURCE OR SINK m IMBALANCE, αφού αποτελεί ειδική περίπτωσή του. Θα δείξουμε όμως ότι ισχύει και η αντίστροφη αναγωγή. Δηλ. και IMBALANCE m SOURCE OR SINK. Αναγωγές IMBALANCE m SOURCE OR SINK Η αναγωγή από το IMBALANCE στο SOURCE OR SINK έχει ακριβώς την ίδια λογική βάση με την αναγωγή από το ODD στο LEAF. Δηλ. για κάθε κόμβο v i του G 1 του IMBALANCE θα δημιουργήσουμε όσους κόμβους v i,j απαιτούνται στο G 2 του SOURCE OR SINK προκειμένου κάθε κόμβος του SOURCE OR SINK να έχει βαθμό εισόδου 1 και βαθμό εξόδου 1. Θα διευκολυνθούμε πάλι στην κατανόηση αν θεωρήσουμε τον καθένα από τους νέους κόμβους v i,j να ορίζει ένα σύνολο V i,j. Επειδή, όμως, τώρα είναι απαραίτητη η διάκριση μεταξύ ακμών εισόδου και εξόδου, θα ορίσουμε το σύνολο V i,j ως εξής: Μια κορυφή v k του G 1 ανήκει στο σύνολο V i,j, ανν ο v k είναι ο, κατά αλφαριθμητική σειρά, j-οστός πρόγονος του v i, ή j-οστός απόγονος του v i. 28

Π.χ. στο G 1 του Σχήματος 2.10 έχουμε: V 1,1 = {v 3, v 2 }, V 2,1 = {v 1, v 3 }, V 2,2 = {v 5, v 4 }, V 3,1 = {v 2, v 1 }, V 3,2 = {v 4, }, V 4,1 = {v 2, v 3 }, V 5,1 = {, v 2 }, V 6,1 = {, v 7 }, V 6,2 = {, v 8 }, V 7,1 = {v 6, v 8 }, V 8,1 = {v 6, }, V 8,2 = {v 7, }. Ο αριθμός των κόμβων που θα αντικαταστήσουν το v i στο G 2 θα είναι max{deg in (v i ), deg out (v i )}. Οι συνδέσεις, τώρα των κόμβων στο G 2 θα γίνουν ως εξής: Μια κορυφή v i,j συνδέεται με μια άλλη v κ,λ, ανν v κ V i,j και v i V κ,λ. v 5 v 2 v 3 v 5,1 v 2,2 v 2,1 v 3,1 v 3,2 v 1.. v 4 v 1,1 v 4,1 v 6 v 7 v 6,1 v 7,1 v 6,2 v 8 v 8,2 v 8,1 Σχήμα 2.10: IMBALANCE m SOURCE OR SINK Π.χ. στο παραπάνω παράδειγμα υπάρχει ακμή από τον κόμβο v 4,1 στον v 3,2 επειδή στο G 1 ο v 4 έχει πρώτο, αλφαριθμητικά, απόγονο το v 3, αλλά για τον v 3 ο v 4 είναι ο δεύτερος στη σειρά πρόγονος του, μετά τον v 2. Για την ορθότητα της αναγωγής, τώρα, έχουμε: Αν στην είσοδο του IMBALANCE μας δίνεται ένας μη-ισορροπημένος κόμβος με Σdeg in < Σdeg out, έστω ο v 5, τότε με την αναγωγή ο κόμβος αυτός θα μετατραπεί σίγουρα σε τουλάχιστον έναν κόμβο-πηγή. Αυτό γιατί αν V 5,m, όπου m = max{deg in (v i ), deg out (v i )}, το τελευταίο σύνολο του v 5, τότε σίγουρα αυτό το σύνολο δε θα περιέχει πρόγονο, λόγω του ότι οι απόγονοι του v 5 υπερτερούν αριθμητικά των προγόνων. Αφού στο G 2 θα υπάρχει μια πηγή θα υπάρχει σίγουρα και ένας κόμβος-καταβόθρα. Αυτόν ή ένα δεύτερο κόμβο-πηγή, θα μας επιστρέψει ο μάντης του SOURCE OR SINK. Από τη σκοπιά των συνόλων V i,j που ορίσαμε, αυτό που θα μας επιστρέψει ο μάντης θα είναι ένας κόμβοςσύνολο v i,j που περιέχει μόνο απόγονο ή μόνο πρόγονο. Σε αυτή την περίπτωση, με τον τρόπο που ορίστηκαν τα σύνολα βλέπουμε ότι ο v i κόμβος έχει ανισορροπία προγόνων-απογόνων στο G 1, είναι δηλ. ένας μη-ισορροπημένος κόμβος, και συνεπώς λύση του IMBALANCE. Η διαφορά σε σχέση με την αντίστοιχη αναγωγή ODD m LEAF για μη διευθυνόμενα γραφήματα είναι ότι εδώ δεν είναι ανάγκη ο κόμβος πηγή ή καταβόθρα που θα επιστρέψει ο μάντης να αντιστοιχεί στο τελευταίο σύνολο V i,m του v i. Μπορεί να είναι και ένας από τους 29