Řešené otázky NTIN090/RM CRF
Z ωικι.matfyz.cz
Verze z 21. 1. 2015, 17:21, kterou vytvořil PeterBlack (diskuse | příspěvky) (Created page with "{{theorem | A je RM <math>\Leftrightarrow</math> je oborem hodnot nějaké rostoucí úsekové ČRF | <math>RM = rng</math> rostoucí úsekové ČRF }} ;Dk: <math> \Rig...")
Věta ( $ RM = rng $ rostoucí úsekové ČRF ): A je RM $ \Leftrightarrow $ je oborem hodnot nějaké rostoucí úsekové ČRF
- Dk
$ \Rightarrow\,\! $: Předpokládejme nejprve, že $ A $ je RM. To znamená, že její char. fce $ χ_A(x) $ je ORF.
- Popíšeme fci $ f(i) $, která pro dané $ i $ vrátí $ i $-tý nejmenší prvek množiny $ A $ (počítáme od 0, tj. první prvek je vrácen pro $ i = 0 $).
- Je-li $ A $ konečná množina, není pro $ i ≥ |A| $ hodnota $ f(i) $ definována. Takto popsaná fce bude rostoucí i úseková.
- Intuitivní algoritmus, který bude počítat funkci $ f(i) $ je jednoduchý:
- Najdi nejmenší prvek množiny $ A $ a poté $ i $-krát hledej nejmenší větší prvek.
- První cyklus while najde index nejmenšího (tedy 0-tého) prvku, který do množiny $ A $ patří.
- Poté algoritmus $ i $-krát opakuje hledání následujícího prvku.
- Hledání následujícího prvku je obsaženo v druhém cyklu while.
- První inicializační cyklus si definujeme jako ČRF $ h(v) = μy[χ_A(y) ≃ 1] $, všimněte si, že tato fce na svém parametru vůbec nezávisí, vždy najde nejmenší prvek množiny $ A $.
- Funkci uvnitř cyklu for si definujeme jako ČRF $ g(i, u, v) = μz[(z > u) ∧ χ_A(z) ≃ 1] $.
- Funkce $ g $ dostává jako druhou hodnotu hodnotu z rekurze, tedy aktuální hodnotu naposledy nalezeného prvku, následně hledá nejmenší prvek množiny $ A $, který je větší než tento poslední nalezený prvek uložený v $ z $.
- Pomocí primitivní rekurze odvodíme funkci $ f' = R_2(h, g) $ a poté stačí položit $ f(i) ≃ f' (i, i) $
- (připomeňme si, že primitivní rekurze odvodí funkci alespoň dvou proměnných, proto funkci $ f $ odvodíme takovouto oklikou).
$ \Leftarrow\,\! $: Nyní předpokládejme, že $ A = rng f $, kde $ f $ je rostoucí úseková ČRF.
- Pokud $ f $ není ORF, znamená to podle definice úsekové fce, že doména $ f $ je konečná, a tedy je konečná i samotná množina $ A $ a je tedy triviálně rekurzivní.
- Předpokládejme tedy, že $ f $ je obecně rekurzivní, tedy všude definovaná fce, pro kterou platí, že $ f(i) $ vrátí $ i $-tý nejmenší prvek množiny $ A $.
- Char. fci můžeme nyní spočítat jednoduchým způsobem. Množina $ A $ je nekonečná, a proto musí obsahovat prvek, který je větší nebo roven $ x $, ve skutečnosti platí, že $ i $-tý prvek musí být větší nebo roven $ i $, jinými slovy platí, že $ i ≤ f(i) $.
- Proto ve skutečnosti stačí hledat $ i ≤ x $ a mohli bychom se tedy obejít bez obecného cyklu while a nahradit jej cyklem for, toho využijeme při odvození fce $ χ_A $. Definujme funkci $ g(x) = μi ≤ x[f(i) ≥ x] $.
- Nyní platí, že $ x ∈A $, právě když $ x = f(g(x)) $, přičemž rovnost je primitivně rekurzivní predikát, a proto je charakteristická fce $ χ_A $ obecně rekurzivní.
- Pokud je $ f $ dokonce PRF, dostaneme, že i χ_A je PRF, neboť omezená minimalizace použitá v odvození fce $ g $ je primitivně rekurzivní. V každém případě je-li $ f $ ORF, je ORF i $ χ_A $ a $ A $ je tedy RM.