IB107 Vyčíslitelnost a složitost Riceovy věty Jan Strejček Fakulta informatiky Masarykova univerzita respektování funkcí Definice (respektování funkcí) Množina A c N respektuje funkce, jestliže platí i e A a ifj = ifj =4> j g A. ■ A respektuje funkce, právě když A respektuje funkce ■ 0, N ■ konečná neprázdná množina A c N ■ {/1 (f i je prostá} ■ {/ | Wi = {42}} IB107 Vyčíslitelnost a složitost: Riceovy věty 2/11 1. Riceova věta Věta (1. Riceova věta) Neprázdná vlastní podmnožina N (tedy A splňující® ^ A c N), která respektuje funkce, není rekurzivní. Důkaz: (sporem) ■ předpokládejme, že A je rekurzivní ■ nechí e je prázdná funkce {dom(e) = 0) a {/1 cpi = e} c A ■ nechí 9 je nějaká vyč. funkce splňující {/ |
(/, /); x1 := 0(x1) end
■ tedy f(/) e /A <=^> i e K a tudíž /C je rekurzivní (spor) ■
IB107 Vyčíslitelnost a složitost: Riceovy věty 3/11
použití 1. Riceovy věty
A = {/ | Lpi je prostá} není rekurzivní
Existují nerekurzivní množiny, které nerespektují funkce. (Jejich nerekurzivita není důsledkem 1. Riceovy věty.)
IB107 Vyčíslitelnost a složitost: Riceovy věty
4/11
důsledky 1. Riceovy věty
Množina všech indexů programů s daným vstupně-výstupním chováním, která není rovna 0 nebo N, není rekurzivní.
Není rozhodnutelné, zda má funkce cpj danou netriviální vlastnost, která není závislá na jejím indexu.
IB107 Vyčíslitelnost a složitost: Riceovy věty
5/11
1. Riceova věta pro relace
Definice (respektovaní funkcí relacemi)
Množina R c Nk respektuje funkce, jestliže (ai,..., a^) e R a ¥>a! =