Obsah

Zadání

4. Metody tvorby náhodnostních algoritmů a jejich ilustrace na příkladech

Vypracování

Klíčové pojmy

Náhodnostní algoritmy

** Pravděpodobnostní rozdělení **
** Náhodná proměnná **
** Očekávaná hodnota **

Klasifikace náhodnostních algoritmů

Podle umístění pravděpodobnosti

I. model

Náhodnostní algoritmus chápeme jako pravděpodobnostní rozdělení nad množinou deterministických algoritmů {A_i,p_i}_i=1..n
Pro vstupní instanci se náhodně vybere strategie A_i

Příklady:

  1. Problém rovnosti
  2. MAX-SAT
II. model

Náhodnostní algoritmus modelujeme nedeterministickým algoritmem s pravděpodobnostním rozdělením nad nedeterministickými volbami.
Příklad:

  1. RQUICKSORT

Podle typu a velikosti chyby

Las Vegas

Pr(A(x)=F(X)) = 1

Las Vegas s odpovědí nevím

Pr(A(x)=F(X)) >= 1/2
Pr(A(x)=nevim) = 1- Pr(A(x)=F(X))

Příklad:

  1. Problém rovnosti několika dvojic řetězců
Monte Carlo s jednosměrnou chybou - 1MC

- použitelné pro rozhodovací problémy
Pr(A(x)=1)>=1/2
Pr(A(x)=0)=1

1MC* - hodnota Pr(A(x)=1) se s rostoucí délkou x limitně blíží 1

Příklad:

  1. Problém rovnosti
Monte Carlo s ohraničenou chybou - 2MC

Pr(A(x)=F(X)) >= 1/2 + e

Monte Carlo s neohraničenou chybou - MC

Pr(A(x)=F(X)) >= 1/2

Pravděpodobnostní algoritmy pro optimalizační úlohy

- jako střední hodnotu chápeme aproximativní poměr algoritmu
- nezávislé opakování běhu algoritmu použijeme na získání řešení lepší kvality
Příklady:

  1. Minimální řez (kontrakcí vrcholů)
  2. Řešení kolizí
  3. MAX-SAT

Pravděpodobnostní složitostní třídy

RP (Random Polynomial Time)

Jazyk L je v RP pokud existuje NTS M takový, že:

(Monte Carlo acceptance)

co-RP:

ZPP (Zero-error Probabilistic Polynomial Time)

RP průnik co-RP
(Las Vegas acceptance)

PP (Probabilistic Polynomial Time)

Jazyk L je v PP pokud existuje NTS M takový, že:

BPP (Bounded-error Probabilistic Polynomial Time)

Jazyk L je v BPP pokud existuje NTS M takový, že:

(Acceptance by majority)

Metody tvorby náhodnostních algoritmů

- časté kombinování více metod

Eliminace protihráčů (Foiling the adversary)

- v podstatě metoda vyhýbání se nejhorším případům
- nalezení takové množiny algoritmů, že pro každý vstup většina z nich efektivně spočítá správný výsledek
- za náhodnostní algoritmus je bráno náhodnostní rozložení deterministických algoritmů

Game Tree evolution
RQUICKSORT
Problém rovnosti

- množina deterministivkých algoritmů je určená množinou prvočísel

Metoda svědků (Abundance of Witnesses)

- Vhodný pro rozhodovací problémy, kdy nás zajímá, či daný vstup má určitou vlastnost (např. jestli je prvočíslo)
- Svědek y pro vstup x a problém P je informace, se kterou můžeme vyřešit problém P pro vstup x efektivněji
- Nalezením množiny, kde nejméně 1/2 prvků jsou svědkové a náhodným výběrem z ní vybereme svědka s rozumnou pravděpodobností.
Pro použití metody potřebujeme úlohy splňující podmínky:

  1. existence svědka
  2. efektivní konstrukce kandidáta + test
  3. množina kandidátů bohatá na svědky
Test prvočíselnosti

Rabin-Miller

Fingerprinting

- je účinější pracovat s malými haši velkých objektů (2 řetězce jsou pravděpodobně identické, pokud jsou jejich haše identické)

Rozhodování příslušnosti v množině
Problém rovnosti

Náhodné vzorkování (Random sampling)

- neumíme efektivně hledat objekty daných vlastností, ale víme, že je jich hodně
- pokud je na množině dostatečně mnoho objektů, které hledáme, náhodné vzorkování na této množině vede k nalezení vhodných objektů s velkou pravděpodobností.

Grafové a geometrické algoritmy

Náhodné zaokrouhlování (Random rounding)

- těžce řešitelný optimalizační problém je převeden na snáze řešitelný zvýšením prostoru řešení
- výsledky nového problému slouží k vytvoření náhodnostního algoritmu k řešení původního problému
- využití lineárního programování

Wiring Problem
MAX SAT

Amplifikace

- snížení pravděpodobnosti chybné odpovědi za cenu zvýšení časové složitosti
- opakujeme výpočet na vstupu NEZÁVISLE k-krát za sebou

Minimální řez

Derandomizace

- efektivní náhodnostní algoritmus převedeme na deterministický, většinou simulováním všech možných behů náhodnostního algoritmu

MAX-SAT

Náhodné procházky - Markov Chains

Grafové problémy

Předměty