Charles Explorer logo
🇨🇿

Pravděpodobnostní analýza algoritmů

Předmět na Matematicko-fyzikální fakulta |
NTIN018

Sylabus

Časová složitost algoritmu v nejhorším a průměrném případě. Metody pro určení očekávané doby výpočtu deterministického algoritmu při známém rozložení vstupních dat (přímý výpočet, využití vytvořujících funkcí, rekurentní vztahy).

Vyšší momenty doby výpočtu, rozptyl. Markovova a Čebyševova nerovnost a jejich význam pro odhad pravděpodobnosti velkých odchylek skutečné doby výpočtu od očekávaného průměru.

Reprezentace algoritmu Markovovým řetězcem, pravděpodobnosti přechodu mezi stavy výpočtu, očekávaný počet průchodů jednotlivými stavy.

Princip randomizovaných (pravděpodobnostních) algoritmů a jejich význam. Výpočet očekávané časové složitosti, odhad pravděpodobnosti chyby.

Konkrétní příklady pravděpodobnostní analýzy algoritmů: jednoduché počítání na Turingově stroji, hledání maximálního prvku v posloupnosti, třídicí algoritmy (SelectionSort, QuickSort, InsertSort, ShellSort), grafové algoritmy (barvení grafu, tranzitivní uzávěr, náhodné procházky na grafech), pravděpodobnostní testování prvočíselnosti, randomizovaný SAT a případně další.

Anotace

Ukázky použití metod teorie pravděpodobnosti při výpočtu očekávané časové složitosti deterministických algoritmů (třídění, grafové algoritmy apod.) a při konstrukci a analýze randomizovaných algoritmů. Předpokládají se základní znalosti pravděpodobnosti a matematické statistiky.