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