Załóżmy, że algorytm losowy używa losowych bitów. Najniższe prawdopodobieństwo błędu, jakiego można się spodziewać (nie spełniając deterministycznego algorytmu z błędem 0), wynosi . Które algorytmy losowe osiągają tak minimalne prawdopodobieństwo błędu?
Oto kilka przykładów, które przychodzą na myśl:
- Algorytmy próbkowania, np. Gdzie chcemy oszacować rozmiar zestawu, do którego można sprawdzić członkostwo. Jeśli ktoś pobierze losowo równomiernie próbki do sprawdzenia, granica Chernoffa gwarantuje wykładniczo małe prawdopodobieństwo błędu.
- Algorytm Karger-Klein-Tarjan do obliczania minimalnego drzewa opinającego. Algorytm wybiera każdą krawędź z prawdopodobieństwem 1/2 i rekurencyjnie znajduje MST w próbce. Można użyć Chernoffa, aby argumentować, że jest wykładniczo nieprawdopodobne, że będzie 2n + 0,1m krawędzi, które są lepsze niż drzewo (tzn. Wolałby je przejąć nad jedną z krawędzi drzewa).
Czy możesz wymyślić inne przykłady?
Zgodnie z odpowiedzią Andrasa poniżej: Rzeczywiście, każdy algorytm wielomianu czasu można przekształcić w wolniejszy algorytm wielomianu z wykładniczo małym prawdopodobieństwem błędu. Skupiam się na algorytmach, które są tak wydajne, jak to możliwe. W szczególności dla dwóch przykładów, które podałem, istnieją deterministyczne algorytmy wielomianowe, które rozwiązują problemy. Zainteresowanie algorytmami losowymi wynika z ich wydajności.