Στην θεωρητική πληροφορική, ένας πιθανοτικός αλγόριθμος (ή τυχαιοποιημένος ή τυχαίος αλγόριθμος) είναι ένας αλγόριθμος που χρησιμοποιεί τυχαιότητα ως μέρος της λογικής του ή της διαδικασίας του. Ο αλγόριθμος παίρνει ομοιόμορφα τυχαία bits ως βοηθητική είσοδο τα οποία χρησιμοποιεί για να καθοδηγήσει την εκτέλεσή του, με στόχο να επιτύχει καλή απόδοση στη "μέση περίπτωση" (όπως αυτή ορίζεται σε σχέση με τα τυχαία bits). Επομένως είτε ο χρόνος εκτέλεσης είτε η έξοδος (ή και τα δύο) είναι τυχαίες μεταβλητές.
Οι πιθανοτικοί αλγόριθμοι διακρίνονται σε αυτούς που πάντοτε τερματίζουν με τη σωστή απάντηση, αλλά όπου ο αναμενόμενος χρόνος εκτέλεσης είναι πεπερασμένος (αλγόριθμοι Λας Βέγκας, για παράδειγμα ο αλγόριθμος ταξινόμησης Quicksort[1]) και αλγόριθμους που με κάποια πιθανότητα μπορεί να δώσουν ένα λανθασμένο αποτέλεσμα (αλγόριθμοι Monte Carlo, για παράδειγμα ο αλγόριθμος Monte Carlo για το πρόβλημα του ελάχιστου συνόλου ανάδρασης κορυφών[2]) ή να αποτύχουν να παράγουν αποτέλεσμα είτε σηματοδοτώντας μια αποτυχία είτε αποτυγχάνοντας να τερματίσουν. Σε ορισμένες περιπτώσεις, οι πιθανοτικοί αλγόριθμοι είναι το μόνο πρακτικό μέσο επίλυσης ενός προβλήματος.[3]
Είναι κοινή πρακτική, οι πιθανοτικοί αλγόριθμοι προσεγγίζονται χρησιμοποιώντας μια γεννήτρια ψευδοτυχαίων αριθμών στη θέση μιας πραγματικής πηγής τυχαίων bits. Μια τέτοια υλοποίηση μπορεί να αποκλίνει από την αναμενόμενη θεωρητική συμπεριφορά και τις μαθηματικές εγγυήσεις που μπορεί να εξαρτώνται από την ύπαρξη μιας ιδανικής πραγματικής γεννήτριας τυχαίων αριθμών.
Παράδειγμα
Ως παράδειγμα, θα δούμε το πρόβλημα της εύρεσης ενός στοιχείου 'a' σε έναν πίνακαn στοιχείων.
Είσοδος : Ένας πίνακας στοιχείων, στον οποίο τα μισά είναι a και τα άλλα μισά είναι b.
findingA_LV(arrayA,n)beginrepeat// Τυχαία διαλέγουμε ένα από τα n στοιχεία.j=RandInt(1,n)untilA[j]='a'end
Αυτός ο αλγόριθμος πετυχαίνει με πιθανότητα 1. Ο αριθμός των επαναλήψεων δεν είναι σταθερός και μπορεί να είναι αυθαίρετα μεγάλος, αλλά η αναμενόμενη τιμή των επαναλήψεων είναι
Επειδή είναι σταθερά, ο αναμενόμενος χρόνος εκτέλεσης για πολλές κλήσεις είναι .
Συνεχίζουμε με τον αλγόριθμο Μόντε Κάρλο:
findingA_MC(arrayA,n,k)begini:=0repeat// Τυχαία διαλέγουμε ένα από τα n στοιχεία.j=RandInt(1,n)i:=i+1untili=korA[j]='a'end
Αν βρεθεί ένα 'a', ο αλγόριθμος πετυχαίνει, διαφορετικά ο αλγόριθμος αποτυγχάνει. Αφού σε κάθε επανάληψη ο αλγόριθμος πετυχαίνει με πιθανότητα , και οι επαναλήψεις είναι ανεξάρτητες, μετά από k επαναλήψεις, η πιθανότητα να βρεθεί ένα ' a ' είναι:
Δεν είναι εγγυημένο ότι ο αλγόριθμος θα πετύχει κάθε φορά, αλλά είναι εγγυημένο ότι ο χρόνος εκτέλεσης είναι πεπερασμένος, καθώς ο αριθμός των επαναλήψεων είναι πάντα μικρότερος ή ίσος του k. Θεωρώντας το k ως σταθερά, ο χρόνος εκτέλεσης (αναμενόμενος και απόλυτος) είναι .
Οι πιθανοτικοί αλγόριθμοι είναι ιδιαίτερα χρήσιμοι όταν υπάρχει ένας κακόβουλος "αντίπαλος" που προσπαθεί σκόπιμα να δώσει μία είσοδο στον αλγόριθμο ώστε να καθυστερήσει τον αλγόριθμο (βλ . χειρότερη περίπτωση πολυπλοκότητα και ανταγωνιστική ανάλυση (αλγόριθμοι)) όπως στο δίλημμα του φυλακισμένου. Αυτός είναι και ο λόγος που η τυχαιότητα είναι πανταχού παρούσα στην κρυπτογραφία. Σε κρυπτογραφικές εφαρμογές, δεν μπορούν να χρησιμοποιηθούν ψευδοτυχαίοι αριθμοί, αφού ο αντίπαλος μπορεί να τους προβλέψει, καθιστώντας τον αλγόριθμο ντετερμινιστικό. Επομένως, απαιτείται είτε μια πηγή "πραγματικά" τυχαίων αριθμών είτε μια κρυπτογραφικά ασφαλής γεννήτρια ψευδοτυχαίων αριθμών . Ένας άλλος τομέας στον οποίο η τυχαιότητα είναι εγγενής είναι ο κβαντικός υπολογισμός .
Στο παραπάνω παράδειγμα, ο αλγόριθμος Λας Βέγκας δίνει πάντα τη σωστή απάντηση, αλλά ο χρόνος εκτέλεσης του είναι μια τυχαία μεταβλητή. Ο αλγόριθμος Monte Carlo (που σχετίζεται με τη μέθοδο προσομοίωσης Monte Carlo) εγγυάται ότι θα τερματίσει σε ένα πεπερασμένο χρονικό διάστημα, το μήκος του οποίου φράζεται από μία συνάρτηση του μεγέθους της εισόδου και της παραμέτρου k, αλλά επιτρέπει μια μικρή πιθανότητα σφάλματος. Παρατηρήστε ότι οποιοσδήποτε αλγόριθμος Λας Βέγκας μπορεί να μετατραπεί σε αλγόριθμο Μόντε Κάρλο (μέσω της ανισότητας Μάρκοφ), βάζοντάς του να επιστρέψει μία αυθαίρετη (πιθανώς λανθασμένη απάντηση) εάν αποτύχει να ολοκληρωθεί εντός του καθορισμένου χρόνου. Αντίθετα, εάν έχουμε έναν αποδοτικό αλγόριθμο για να ελέγξουμε εάν μια απάντηση είναι σωστή (στο παραπάνω παράδειγμα αυτό ήταν απλά `A[j] = a'), τότε ένας αλγόριθμος Monte Carlo μπορεί να μετατραπεί σε αλγόριθμο Λας Βέγκας εκτελώντας τον αλγόριθμο Monte Carlo επανειλημμένα μέχρι να λάβουμε μια σωστή απάντηση.
Υπολογιστική πολυπλοκότητα
Η θεωρία της υπολογιστικής πολυπλοκότητας μοντελοποιεί πιθανοτικούς αλγόριθμους με τις πιθανοτικές μηχανές Turing. Στον τομέα έχουν μελετηθεί και οι αλγόριθμοι Λας Βέγκας και Μόντε Κάρλο, και επίσης έχουν διατυπωθεί αρκετές άλλες κλάσεις πολυπλοκότητας σχετικές με την τυχαιότητα. Η πιο βασική πιθανοτική κλάση πολυπλοκότητας είναι η RP, η οποία περιλαμβάνει προβλήματα απόφασης για τα οποία υπάρχει ένας αποδοτικός (που τρέχει σε πολυωνυμικό χρόνο) πιθανοτικός αλγόριθμος (ή ισοδύναμα μία πιθανοτική μηχανή Turing) που αναγνωρίζει τις περιπτώσεις ΟΧΙ με απόλυτη βεβαιότητα και αναγνωρίζει τις περιπτώσεις ΝΑΙ με πιθανότητα τουλάχιστον 1/2. Το συμπλήρωμα της κλάσης RP είναι η κλάση co-RP. Τα προβλήματα που έχουν (πιθανώς μη τερματιζόμενους) αλγόριθμους με πολυωνυμικό αναμενόμενο χρόνο εκτέλεσης και των οποίων η έξοδος είναι πάντα σωστή ανήκουν στην κλάση ZPP .
Η κλάση των προβλημάτων για τα οποία οι αλγόριθμοι έχουν πιθανότητα σφάλματος και στις ΝΑΙ και στις ΟΧΙ περιπτώσεις ονομάζεται BPP. Αυτή η κλάση είναι η αντίστοιχη πιθανοτική κλάση του P, δηλ το BPP αντιπροσωπεύει την κατηγορία των αποδοτικών πιθανοτικών αλγορίθμων.
Ιστορία
Ταξινόμηση
Ο αλγόριθμος Quicksort για την ταξινόμηση ανακαλύφθηκε από τον Τόνι Χορ το 1959, και στη συνέχεια δημοσιεύτηκε το 1961.[4] Την ίδια χρονιά, ο Χορ δημοσίευσε τον αλγόριθμο Quickselect[5] που βρίσκει το διάμεσο στοιχείο μιας λίστας σε γραμμικό αναμενόμενο χρόνο. Το πρόβλημα του αν υπήρχε ντετερμινιστικός αλγόριθμος γραμμικού χρόνου παρέμεινε ανοιχτό μέχρι το 1973.[6]
Θεωρία αριθμών
Το 1917, ο Henry Cabourn Pocklington εισήγαγε έναν πιθανοτικό αλγόριθμο γνωστό ως αλγόριθμος Pocklington για την αποτελεσματική εύρεση τετραγωνικών ριζών modulo πρώτων αριθμών.[7] Το 1970, οElwyn Berlekamp εισήγαγε έναν τυχαιοποιημένο αλγόριθμο για τον αποτελεσματικό υπολογισμό των ριζών ενός πολυωνύμου σε ένα πεπερασμένο πεδίο.[8] Το 1977, ο Robert M. Solovay και ο Volker Strassen ανακάλυψαν έναν αλγόριθμο για να ελέγχει αν ένας αριθμός είναι πρώτος σε πολυωνυμικό χρόνο. Λίγο αργότερα, ο Michael O. Rabin έδειξε ότι ο αλγόριθμος ελέγχου πρώτων του Miller (του 1976) μπορεί επίσης να μετατραπεί σε έναν πολυωνυμικό πιθανοτικό αλγόριθμο. Εκείνη την εποχή, δεν ήταν γνωστός κάποιος ντετερμινιστικός αλγόριθμος πολυωνυμικού χρόνου για τον έλεγχο πρώτων αριθμών.
Οι πρώτες αναλύσεις των πινάκων κατακερματισμού υπέθεταν ότι είτε υπάρχει πρόσβαση σε μια πλήρως τυχαία συνάρτηση κατακερματισμού είτε ότι τα κλειδιά ήταν τυχαία.[9] Το 1979, οι Carter και Wegman εισήγαγαν τις καθολικές συναρτήσεις κατακερματισμού[12] και έδειξαν ότι μπορούν να χρησιμοποιηθούν για την υλοποίηση αλυσιδωτών πινάκων κατακερματισμού με σταθερό αναμενόμενο χρόνο ανά πράξη.
Το 1970, ο Burton Howard Bloom εισήγαγε τα φίλτρα Bloom, μία δομή δεδομένων που δίνει προσεγγιστικές απαντήσεις για το αν ένα στοιχείο x ανήκει σε ένα σύνολο S. [13] Το 1989, ο Raimund Seidel και η Cecilia R. Aragon εισήγαγαν ένα πιθανοτικό και ισορροπημένο δυαδικό δέντρο αναζήτησης γνωστό ως treap.[14] Την ίδια χρονιά, ο William Pugh παρουσίασε ένα άλλο τυχαιοποιημένο δέντρο αναζήτησης γνωστό ως λίστα παράλειψης.[15]
Χρήσεις στη Συνδυαστική
Πριν γίνουν διαδεδομένοι οι πιθανοτικοί αλγόριθμοι στην επιστήμη των υπολογιστών, ο Πολ Έρντος έκανε δημοφιλή τη χρήση πιθανοτικών μεθόδων ως μια μαθηματική τεχνική για την απόδειξη ύπαρξης μαθηματικών αντικειμένων. Αυτή η τεχνική έχει γίνει γνωστή ως πιθανοτική μέθοδος.[16] Ο Erdős έκανε την πρώτη του εφαρμογή της πιθανοτικής μεθόδου το 1947, όταν χρησιμοποίησε μια απλή πιθανοτική κατασκευή για να αποδείξει την ύπαρξη γράφων Ramsey. [17] Επίσης χρησιμοποίησε έναν πολύ πιο περίπλοκο πιθανοτικό αλγόριθμο το 1959 για να διαπιστώσει την ύπαρξη γράφων με υψηλή περιφέρεια και χρωματικό αριθμό.[18][16]
Παραδείγματα
Quicksort
Η γρήγορη ταξινόμηση είναι ένας γνωστός, ευρέως χρησιμοποιούμενος αλγόριθμος ο οποίος κάνει χρήση της τυχαιότητας. Πολλές ντετερμινιστικές εκδοχές αυτού του αλγορίθμου (π.χ. που διαλέγουμε πάντα το πρώτο στοιχείο ως άξονα) χρειάζονται Θ(n2) χρόνο για να ταξινομήσουν n αριθμούς για μία κατηγορία καλά διατυπωμένων εισόδων (π.χ. τους ήδη ταξινομημένους πίνακες). Ωστόσο, εάν ο αλγόριθμος επιλέγει τον άξονα ομοιόμορφα στην τύχη (από τα υπολειπόμενα στοιχεία), τότε με μεγάλη πιθανότητα τελειώνει σε O(n log n) χρόνο ανεξάρτητα από τα χαρακτηριστικά της εισόδου.
Πιθανοτικές σταδιακές κατασκευές στη γεωμετρία
Στην υπολογιστική γεωμετρία, μια κλασσική τεχνική για την κατασκευή μιας γεωμετρικής δομής όπως το κυρτό περίβλημα ή η τριγωνοποίηση Delaunay είναι πρώτα να πάρουμε μία τυχαία μετάθεση των σημείων εισόδου και στη συνέχεια να τα εισάγουμε στην υπάρχουσα δομή το ένα μετά το άλλο. Η τυχαιότητα της σειράς που τα εισάγουμε διασφαλίζει ότι ο αναμενόμενος συνολικός αριθμός αλλαγών στη δομή είναι μικρός και έτσι ο αναμενόμενος χρόνος εκτέλεσης του αλγορίθμου είναι μικρός. Αυτή η τεχνική είναι γνωστή ως τυχαιοποιημένη σταδιακή κατασκευή.[19]
Έξοδος: Μία τομή που χωρίζει τις κορυφές στα σύνολαL και R, και έχει τον ελάχιστο αριθμό ακμών μεταξύ των L και R.
Η συστολή δύο κορυφών u και v σε έναν (πολυ-)γράφο δίνει μία νέα κορυφή u' με ακμές που είναι η ένωση των ακμών που προσπίπτουν είτε στον u είτε στον v, εξαιρουμένων των ακμών μεταξύ των u και v. Το Σχήμα 1 δίνει ένα παράδειγμα συστολής των Α και Β. Μετά τη συστολή, ο γράφος που προκύπτει μπορεί να έχει παράλληλες ακμές, αλλά δεν περιέχει βρόχους.
Ο αλγόριθμος επαναλαμβάνει τον εσωτερικό βρόχο φορές, που βρίσκει μία τομή . Ο χρόνος εκτέλεσης του εσωτερικού βρόχου είναι , όπου n το πλήθος των κορυφών του γράφου. Μετά από m εκτελέσεις του εξωτερικού βρόχου, κρατάμε την ελάχιστη τομή μεταξύ όλων των αποτελεσμάτων. Το Σχήμα 2 δίνει ένα παράδειγμα μιας εκτέλεσης του αλγορίθμου, στο τέλος της οποίας λαμβάνουμε μια τομή ή μεγέθους 3.
Λήμμα 1 — Έστω k το μέγεθος της ελάχιστης τομής, και έστω C = {e1, e2, ..., ek} η ελάχιστη τομή. Αν, κατά την i-οστή επανάληψη, δεν υπάρχει ακμή e ∈ C που επιλέγεται για συστολή, τότε Ci = C.
Απόδειξη
Αν ο G δεν είναι συνδεδεμένος, τότε οι κορυφές του G μπορούν να χωριστούν στα σύνολα L και R χωρίς καμία ακμή μεταξύ τους. Επομένως, η ελάχιστη τομή ενός μη-συνδεδεμένου γράφου είναι 0. Τώρα, έστω ότι ο G είναι συνδεδεμένος. Έστω V=L∪R ο διαμερισμός του V που ορίζεται από C : C = { {u,v} ∈ E : u ∈ L,v ∈ R} (που είναι καλώς-ορισμένο αφού ο G είναι συνδεδεμένος). Θεωρούμε μία ακμή {u,v} του C. Αρχικά, u,v είναι δύο διαφορετικές κορυφές. Όσο διαλέγουμε μία ακμή , οι u και v δεν ενώνονται. Επομένως, στο τέλος του αλγορίθμου, έχουμε δύο σύνθετες κορυφές που καλύπτουν ολόκληρο τον γράφο, ένας εκ των οποίων έχει τις κορυφές και ο άλλος τις κορυφές . Όπως στο Σχήμα 2, το μέγεθος της ελάχιστης τομής είναι 1, και . Αν δεν διαλέξουμε τα για συστολή, τότε θα πάρουμε την ελάχιστη τομή.
Λήμμα 2 — Έστω ένας πολυγράφος με κορυφές και ο οποίος έχει μέγεθος ελάχιστης τομής , τότε ο έχει τουλάχιστον ακμές.
Απόδειξη
Επειδή η ελάχιστη τομή έχει μέγεθος , κάθε κορυφή πρέπει να ικανοποιεί . Επομένως, το άθροισμα των βαθμών είναι τουλάχιστον . Αλλά είναι γνωστό ότι το άθροισμα των βαθμών των κορυφών είναι ίσο με . Συνδυάζοντας αυτά, καταλήγουμε στο συμπέρασμα.
Ανάλυση του αλγορίθμου
Η πιθανότητα να πετύχει ο αλγόριθμος είναι 1 μείον την πιθανότητα να αποτύχουν όλες οι προσπάθειες. Επειδή κάθε επανάληψη είναι ανεξάρτητη, η πιθανότητα να αποτύχουν όλες οι προσπάθειες είναιΑπό το Λήμμα 1, η πιθανότητα να έχουμε Ci = C είναι η πιθανότητα να μην επιλέξαμε καμία ακμή του C κατά την επανάληψη i . Θεωρήστε τον εσωτερικό βρόχο και έστω Gj ο γράφος μετά από j συστολές ακμών για j ∈ {0, 1, …, n − 3} . Τότε ο Gj έχει n − j κορυφές. Χρησιμοποιούμε τον κανόνα της αλυσίδας για την κατά συνθήκη πιθανότητα. Η πιθανότητα η ακμή που επιλέχθηκε στην επανάληψη j να μην είναι στο C, δεδομένου ότι δεν έχουμε επιλέξει καμία ακμή του C προηγουμένως, είναι . Παρατηρήστε ότι ο Gj εξακολουθεί να έχει ελάχιστη τομή μεγέθους k, επομένως από το Λήμμα 2, εξακολουθεί να έχει τουλάχιστον ακμές.
Επομένως, .
Συνεπώς, χρησιμοποιώντας τον κανόνα της αλυσίδας, η πιθανότητα να βρεθεί η ελάχιστη τομή C είναιΜετά την απλοποίηση λαμβάνουμε ότι . Έτσι η πιθανότητα να πετύχει ο αλγόριθμος είναι τουλάχιστον . Θέτοντας , η πιθανότητα είναι τουλάχιστον . Καταλήγουμε ότι ο αλγόριθμος βρίσκει την ελάχιστη τομή με πιθανότητα τουλάχιστον , σε χρόνο .
Αποτυχαιοποίηση
Η τυχαιότητα μπορεί να θεωρηθεί ως ένας πόρος, όπως είναι ο χώρος και ο χρόνος. Η αποτυχαιοποίηση είναι η διαδικασία αφαίρεσης της τυχαιότητας (ή χρήσης όσο το δυνατόν λιγότερης από αυτήν) από έναν πιθανοτικό αλγόριθμο. Δεν είναι προς το παρόν γνωστό εάν όλοι οι αλγόριθμοι μπορούν να αποτυχαιοποιηθούν χωρίς να αυξηθεί σημαντικά ο χρόνος εκτέλεσης τους. Για παράδειγμα, στην θεωρία πολυπλοκότητας, είναι άγνωστο εάν P = BPP, δηλαδή, δεν γνωρίζουμε εάν μπορούμε να πάρουμε έναν αυθαίρετο τυχαιοποιημένο αλγόριθμο που εκτελείται σε πολυωνυμικό χρόνο με μικρή πιθανότητα σφάλματος και να τον αποτυχαιοποιήσουμε ώστε να εκτελείται σε πολυωνυμικό χρόνο χωρίς τη χρήση τυχαιότητας.
Υπάρχουν κάποιες γενικές μέθοδοι που μπορούν να χρησιμοποιηθούν για την αποτυχαιοποίηση συγκεκριμένων τυχαιοποιημένων αλγορίθμων:
η θεωρία ασυμφωνίας (η οποία χρησιμοποιείται κυρίως για την αποτυχαιοποίηση γεωμετρικών αλγορίθμων)
η εκμετάλλευση περιορισμένης ανεξαρτησίας μεταξύ των τυχαίων μεταβλητών που χρησιμοποιούνται από τον αλγόριθμο, όπως η ανεξαρτησία ανά δύο που χρησιμοποιείται στον καθολικό κατακερματισμό
η χρήση γράφων επεκτατών για την ενίσχυση μιας μικρής ποσότητας αρχικής τυχαιότητας (αυτή η τελευταία προσέγγιση αναφέρεται επίσης ως δημιουργία ψευδοτυχαίων bits από μια τυχαία πηγή και οδηγεί στο σχετικό θέμα της ψευδοτυχαιότητας)
αλλαγή του τυχαιοποιημένου αλγόριθμου για χρήση μιας συνάρτησης κατακερματισμού ως πηγή τυχαιότητας για τις εργασίες του αλγορίθμου και, στη συνέχεια, αποτυχαιοποίηση του αλγορίθμου με ωμή βία όλων των πιθανών παραμέτρων (seeds) της συνάρτησης κατακερματισμού. Αυτή η τεχνική χρησιμοποιείται συνήθως για την εξαντλητική αναζήτηση ενός δειγματοληπτικού χώρου και κάνει τον αλγόριθμο ντετερμινιστικό (π.χ. πιθανοτικοί αλγόριθμοι γράφων)
Εκεί που η τυχαιότητα βοηθάει
Για τις μηχανές Turing, είναι ανοιχτό πρόβλημα εάν η δυνατότητα να κάνουμε τυχαίες επιλογές επιτρέπει την επίλυση ορισμένων προβλημάτων σε πολυωνυμικό χρόνο που δεν μπορούν να λυθούν σε πολυωνυμικό χρόνο χωρίς αυτήν τη δυνατότητα. Το πρόβλημα συνοψίζεται στο αν P = BPP. Ωστόσο, σε άλλα πλαίσια, υπάρχουν συγκεκριμένα παραδείγματα προβλημάτων όπου η τυχαιοποίηση προσφέρει αυστηρά καλύτερα αποτελέσματα.
Με βάση το αρχικό παράδειγμα: δοσμένης μιας εκθετικά μεγάλης συμβολοσειράς 2k χαρακτήρων, όπου οι μισοί χαρακτήρες είναι a και οι άλλοι μισοί είναι b, μια μηχανή τυχαίας πρόσβασης χρειάζεται 2k−1 προσβάσεις στον πίνακα στη χειρότερη περίπτωση για να βρει την θέση ενός a. Εάν επιπλέον έχει τη δυνατότητα να κάνει τυχαίες επιλογές, τότε μπορεί να λύσει αυτό το πρόβλημα σε έναν αναμενόμενο πολυωνυμικό αριθμό προσβάσεων.
Στην πολυπλοκότητα της επικοινωνίας, η ισότητα δύο συμβολοσειρών μπορεί να επαληθευτεί σε κάποια αξιοπιστία χρησιμοποιώντας bits επικοινωνίας με ένα πρωτόκολλο που κάνει χρήση τυχαιότητας. Από την άλλη οποιοδήποτε ντετερμινιστικό πρωτόκολλο απαιτεί bits αν υπάρχει ένας δυνατός αντίπαλος.[21]
Ο όγκος ενός κυρτού σώματος μπορεί να εκτιμηθεί με έναν τυχαιοποιημένο αλγόριθμο με αυθαίρετη ακρίβεια σε πολυωνυμικό χρόνο.[22] Οι Bárány και Füredi έδειξαν ότι κανένας ντετερμινιστικός αλγόριθμος δεν μπορεί να κάνει το ίδιο. [23] Αυτό ισχύει άνευ όρων, δηλαδή χωρίς να βασιζόμαστε σε οποιεσδήποτε θεωρητικές υποθέσεις πολυπλοκότητας, υποθέτοντας ότι το κυρτό σώμα μπορεί να διερευνηθεί μόνο ως μαύρο κουτί.
Στην θεωρία πολυπλοκότητας, η κλάση IP αποτελείται από όλες τις γλώσσες που μπορούν να γίνουν αποδεκτές (με μεγάλη πιθανότητα) από μια αλληλεπίδραση πολυωνυμικού μήκους μεταξύ ενός πανίσχυρου αποδείκτη και ενός επαληθευτή που εφαρμόζει έναν αλγόριθμο BPP. Ισχύει ότι IP = PSPACE.[24] Ωστόσο, εάν απαιτείται ο επαληθευτής να είναι ντετερμινιστικός, τότε ισχύει ότι IP = NP .
Σε ένα δίκτυο χημικών αντιδράσεων (ένα πεπερασμένο σύνολο αντιδράσεων όπως A+B → 2C + D που λειτουργούν σε έναν πεπερασμένο αριθμό μορίων), η ικανότητα να φθάσουμε ποτέ σε μια κατάσταση από μια αρχική κατάσταση είναι αποφασίσιμη, ενώ προσεγγίζεται ακόμη και η πιθανότητα. Η επίτευξη μιας δεδομένης κατάστασης στόχου (χρησιμοποιώντας την τυπική πιθανότητα που βασίζεται στη συγκέντρωση για την οποία θα συμβεί η επόμενη αντίδραση) δεν μπορεί να αποφασιστεί. Πιο συγκεκριμένα, μια περιορισμένη μηχανή Turing μπορεί να προσομοιωθεί ώστε με μεγάλη πιθανότητα να λειτουργεί σωστά πάντοτε, μόνο εάν χρησιμοποιηθεί ένα τυχαίο δίκτυο χημικής αντίδρασης. Με ένα απλό μη ντετερμινιστικό δίκτυο χημικών αντιδράσεων (οποιαδήποτε πιθανή αντίδραση μπορεί να συμβεί στη συνέχεια), η υπολογιστική ισχύς περιορίζεται σε πρωταρχικές αναδρομικές συναρτήσεις . [25]
Motwani, Rajeev· Raghavan, Prabhakar. Randomized algorithms (9th printing έκδοση). Cambridge New York Melbourne: Cambridge University Press. ISBN978-0521474658.
Alon, Noga· Spencer, Joel H. (2015). The probabilistic method (4η έκδοση). Hoboken, New Jersey: Wiley. ISBN978-1-119-06195-3.
Dubhashi, Devdatt· Panconesi, Alessandro (2012). Concentration of measure for the analysis of randomized algorithms. Cambridge New York Melbourne: Cambridge University Press. ISBN978-1107606609.
Mulmuley, Ketan (1993). Computational geometry: an introduction through randomized algorithms (Transferred to digital print on demand έκδοση). Upper Saddle River, NJ: Prentice Hall. ISBN978-0133363630.
Cormen, Thomas H.· =Leiserson, Charles Eric· Rivest, Ronald Linn· Stein, Clifford. «Probabilistic analysis and randomized algorithms». Introduction to algorithms (3η έκδοση). Cambridge, Massachusetts London, England: MIT Press. ISBN978-0262033848.
Karger, David R. (1994). Random sampling in cut, flow, and network design problems, σελ. 648–657. doi:10.1145/195058.195422.
Kannan, Ravindran; Vempala, Santosh (1 Μαΐου 2017). «Randomized algorithms in numerical linear algebra». Acta Numerica26: 95–135. doi:10.1017/S0962492917000058.
Bentley, Jon Louis; Lueker, George S. (1982). «Probabilistic Analysis of Algorithms». Applied Probability-Computer Science: The Interface Volume 1: 137–162. doi:10.1007/978-1-4612-5791-2_5.
↑Kudelić, Robert (2016-04-01). «Monte-Carlo randomized algorithm for minimal feedback arc set problem». Applied Soft Computing41: 235–246. doi:10.1016/j.asoc.2015.12.018.
↑"Για τον έλγεχο πρώτων αριθμών πολύ μεγάλων αριθμών που έχουν επιλεγεί τυχαία, η πιθανότητα να πετύχουμε μία τιμή που ξεγελάει τον έλεγχο του Φερμά είναι μικρότερη από την πιθανότητα η κοσμική ακτινοβολία να κάνει έναν υπολογιστή να κάνει λάθος καθώς τρέχει έναν 'σωστό' αλγόριθμο. Το αν θα θεωρήσουμε έναν αλγόριθμο να μην είναι ικανοποιητικός για τον πρώτο λόγο και όχι για τον δεύτερο είναι η διαφορά μεταξύ των μαθηματικών και της μηχανικής." Hal Abelson και Gerald J. Sussman (1996). Structure and Interpretation of Computer Programs. MIT Press, section 1.2Αρχειοθετήθηκε 2006-09-03 στο Wayback Machine..
↑Williams, H. C.; Shallit, J. O. (1994), «Factoring integers before computers», στο: Gautschi, Walter, επιμ., Mathematics of Computation 1943–1993: a half-century of computational mathematics; Papers from the Symposium on Numerical Analysis and the Minisymposium on Computational Number Theory held in Vancouver, British Columbia, August 9–13, 1993, Proceedings of Symposia in Applied Mathematics, 48, Amer. Math. Soc., Providence, RI, σελ. 481–531, doi:10.1090/psapm/048/1314885; see p. 504, "Perhaps Pocklington also deserves credit as the inventor of the randomized algorithm".
↑Berlekamp, E. R. (1971). «Factoring polynomials over large finite fields». Proceedings of the second ACM symposium on Symbolic and algebraic manipulation - SYMSAC '71 (στα Αγγλικά). Los Angeles, California, United States: ACM Press. σελ. 223. ISBN9781450377867.
↑Carter, J. Lawrence; Wegman, Mark N. (1979-04-01). «Universal classes of hash functions» (στα αγγλικά). Journal of Computer and System Sciences18 (2): 143–154. doi:10.1016/0022-0000(79)90044-8. ISSN0022-0000.
↑Kushilevitz, Eyal; Nisan, Noam (2006), Communication Complexity, Cambridge University Press, ISBN9780521029834. For the deterministic lower bound see p. 11; for the logarithmic randomized upper bound see pp. 31–32.