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! = ■■■> bk implikuje(bi,...,bk) e R. ■ {UJ) I ¥>/ = N řa/cové, ze 6> < 0' a dáte; ■ {/1 w = #} c ,4 ■ {/1 N splňující: ■ {/ \ cpj = 0} Q A ■ {/1 /(/) e >A m i e K =4> dom( e ^ ■ celkem / e ~K ^> f(i) e A, tedy K = ř_1 (/A) ... IB107 Vyčíslitelnost a složitost: Riceovy věty 9/11 použití 3. Riceovy věty C = {/ | cpi = f}, kde f je pevně zvolená totálně vyčíslitelná funkce, není r.e. Množina všech indexů programů s daným nekonečným vstupně-výstupním chováním není rekurzivně spočetná. Existují množiny, které nejsou r.e. a nelze to o nich dokázat Riceovými větami. IB107 Vyčíslitelnost a složitost: Riceovy věty 10/11