Ένας πολυωνυμικός επαληθευτής χρόνου μπορεί να μετατραπεί σε μια ισοδύναμη μη ντετερμινιστική μηχανή Turing κατασκευάζοντας μια μηχανή που μπορεί να μαντέψει το πιστοποιητικό απόδειξης και να το επαληθεύσει σε πολυωνυμικό χρόνο. Αυτή η μετατροπή βασίζεται στην έννοια του μη ντετερμινιστικού υπολογισμού, που επιτρέπει στο μηχάνημα να εξερευνήσει όλες τις πιθανές διαδρομές ταυτόχρονα.
Για να κατανοήσουμε αυτήν τη μετατροπή, ας ορίσουμε πρώτα τι είναι ένας πολυωνυμικός επαληθευτής χρόνου. Στη θεωρία της υπολογιστικής πολυπλοκότητας, ένας πολυωνυμικός επαληθευτής χρόνου είναι μια ντετερμινιστική μηχανή Turing που μπορεί να επαληθεύσει την ορθότητα μιας λύσης σε ένα πρόβλημα απόφασης σε πολυωνυμικό χρόνο. Παίρνει δύο εισόδους: την παρουσία προβλήματος και ένα πιστοποιητικό απόδειξης και καθορίζει εάν το πιστοποιητικό είναι έγκυρη απόδειξη για τη δεδομένη παρουσία.
Τώρα, για να μετατρέψουμε έναν πολυωνυμικό επαληθευτή χρόνου σε μια ισοδύναμη μη ντετερμινιστική μηχανή Turing, πρέπει να εξετάσουμε τις ιδιότητες του μη ντετερμινιστικού υπολογισμού. Σε μια μη ντετερμινιστική μηχανή Turing, σε κάθε βήμα, η μηχανή μπορεί να βρίσκεται σε πολλαπλές καταστάσεις και μπορεί να μεταβεί σε πολλαπλές καταστάσεις ταυτόχρονα. Αυτό επιτρέπει στο μηχάνημα να εξερευνήσει όλες τις πιθανές διαδρομές υπολογισμού παράλληλα.
Για να μετατρέψουμε τον επαληθευτή, μπορούμε να κατασκευάσουμε μια μη ντετερμινιστική μηχανή Turing που μαντεύει το πιστοποιητικό απόδειξης και στη συνέχεια προσομοιώνει τον επαληθευτή σε όλες τις πιθανές διαδρομές. Εάν κάποια από τις διαδρομές δέχεται, τότε η μη ντετερμινιστική μηχανή δέχεται. Διαφορετικά, απορρίπτει.
Ας το επεξηγήσουμε αυτό με ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε έναν πολυωνυμικό επαληθευτή χρόνου για το πρόβλημα του χρωματισμού γραφήματος. Ο επαληθευτής λαμβάνει ως είσοδο ένα γράφημα και έναν χρωματισμό των κορυφών του και ελέγχει εάν ο χρωματισμός είναι έγκυρος επαληθεύοντας ότι καμία γειτονική κορυφή δεν έχει το ίδιο χρώμα.
Για να μετατρέψουμε αυτόν τον επαληθευτή σε μια μη ντετερμινιστική μηχανή Turing, κατασκευάζουμε μια μηχανή που μαντεύει έναν χρωματισμό και στη συνέχεια προσομοιώνει τον επαληθευτή σε όλους τους πιθανούς χρωματισμούς ταυτόχρονα. Εάν κάποιος από τους χρωματισμούς ικανοποιεί τους περιορισμούς χρωματισμού, τότε το μη ντετερμινιστικό μηχάνημα δέχεται. Διαφορετικά, απορρίπτει.
Σε αυτό το παράδειγμα, η μη ντετερμινιστική μηχανή θα μαντέψει έναν χρωματισμό εκχωρώντας χρώματα στις κορυφές παράλληλα. Στη συνέχεια θα προσομοιώνει τον επαληθευτή σε κάθε έναν από τους πιθανούς χρωματισμούς, ελέγχοντας εάν ο χρωματισμός είναι έγκυρος. Εάν οποιαδήποτε από τις προσομοιώσεις δέχεται, τότε η μη-ντετερμινιστική μηχανή δέχεται.
Χρησιμοποιώντας αυτή τη μετατροπή, μπορούμε να δούμε ότι ένας πολυωνυμικός επαληθευτής χρόνου μπορεί να μετατραπεί σε μια ισοδύναμη μη-ντετερμινιστική μηχανή Turing. Αυτή η μετατροπή μας επιτρέπει να αναλύσουμε την πολυπλοκότητα των προβλημάτων στην κλάση NP (μη ντετερμινιστικός πολυωνυμικός χρόνος) εξετάζοντας την ύπαρξη επαληθευτών πολυωνυμικού χρόνου.
Ένας πολυωνυμικός επαληθευτής χρόνου μπορεί να μετατραπεί σε μια ισοδύναμη μη ντετερμινιστική μηχανή Turing κατασκευάζοντας μια μηχανή που μαντεύει το πιστοποιητικό απόδειξης και το επαληθεύει σε όλες τις πιθανές διαδρομές ταυτόχρονα. Αυτή η μετατροπή μας επιτρέπει να αναλύσουμε την πολυπλοκότητα των προβλημάτων στην κλάση NP.
Άλλες πρόσφατες ερωτήσεις και απαντήσεις σχετικά με Περίπλοκο:
- Η κλάση PSPACE δεν είναι ίση με την κλάση EXPSPACE;
- Είναι η κλάση πολυπλοκότητας P υποσύνολο της κλάσης PSPACE;
- Μπορούμε να αποδείξουμε ότι η τάξη Np και P είναι ίδιες βρίσκοντας μια αποτελεσματική πολυωνυμική λύση για οποιοδήποτε πλήρες πρόβλημα NP σε ένα ντετερμινιστικό ΤΜ;
- Μπορεί η κλάση NP να είναι ίση με την κλάση EXPTIME;
- Υπάρχουν προβλήματα στο PSPACE για τα οποία δεν υπάρχει γνωστός αλγόριθμος NP;
- Μπορεί ένα πρόβλημα SAT να είναι πλήρες πρόβλημα NP;
- Μπορεί ένα πρόβλημα να ανήκει στην κατηγορία πολυπλοκότητας NP εάν υπάρχει μια μη ντετερμινιστική μηχανή γύρισμα που θα το λύσει σε πολυωνυμικό χρόνο
- Η NP είναι η κατηγορία των γλωσσών που έχουν πολυωνυμικούς επαληθευτές χρόνου
- Είναι πράγματι το P και το NP η ίδια κατηγορία πολυπλοκότητας;
- Είναι κάθε γλώσσα χωρίς περιβάλλον στην κατηγορία πολυπλοκότητας P;
Δείτε περισσότερες ερωτήσεις και απαντήσεις στο Complexity