Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verze | |||
| tin:ukoly:2011:4 [31. 12. 2011, 13.44:00] – [Příklad 4] hamilton pitel | tin:ukoly:2011:4 [16. 08. 2026, 16.30:44] (aktuální) – odstraněno - upraveno mimo DokuWiki (Neznámé datum) 127.0.0.1 | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== Úkol 4 ====== | ||
| - | Bc. Jan Kaláb %%< | ||
| - | ===== Příklad 1 ===== | ||
| - | **Pomocí počátečních funkcí, a operátorů kombinace, kompozice a primitivní rekurze výjádřete funkci počítající zbytek po celočíselném dělení:** | ||
| - | |||
| - | **//mod//: ℕ² → ℕ, // | ||
| - | |||
| - | **Je možné použít funkce // | ||
| - | |||
| - | * //pred//(0) = //ξ//() | ||
| - | * //pred//(x + 1) = // | ||
| - | |||
| - | * // | ||
| - | * // | ||
| - | |||
| - | * //min// ≡ //monus// ∘ (// | ||
| - | |||
| - | * //sg// ≡ //min// ∘ %%((%%// | ||
| - | |||
| - | * //gt// ≡ //sg// ∘ //monus// ∘ (// | ||
| - | |||
| - | * // | ||
| - | * //mod//(0, //y//) = 0 | ||
| - | * // | ||
| - | ===== Příklad 2 ===== | ||
| - | **Mějme danou primitivně rekurzivní funkci //crypt//: ℕ → ℕ, která pro daný vstup (zakódovaný jako přirozené číslo) vrátí jeho zašifrovanou podobu (opět zakódovanou jako přirozené číslo).** | ||
| - | |||
| - | **Navrhněte parciálně rekurzivní funkci // | ||
| - | |||
| - | **Pozn.: O vlastním fungování funkce //crypt// nemáte k dispozici žádné další informace. V případě, že existují //x//, //y// ∈ ℕ takové, že //x// ≠ //y// ∧ // | ||
| - | |||
| - | // | ||
| - | ===== Příklad 3 ===== | ||
| - | **Mějme následující funkce:** | ||
| - | * **// | ||
| - | * **// | ||
| - | |||
| - | **Dokažte, že // | ||
| - | |||
| - | **Pozn.: Nezapomeňte, | ||
| - | |||
| - | {{ o.png }} | ||
| - | |||
| - | // | ||
| - | //n// = 7071,12 | ||
| - | |||
| - | - Z grafu funkcí a výsledku rovnice je zřejmé, že od //n// = 7072 je // | ||
| - | - Protože výsledkem rovnice je pouze jeden kořen, je navíc zřejmé, že od //n// = 7072 se funkce nikde jinde nerovnají (neprotínají), | ||
| - | |||
| - | Tedy // | ||
| - | ===== Příklad 4 ===== | ||
| - | **Tři kamarádi se rozhodli navštívit autem všechny obce v jednom regionu. Rádi by svoji cestu naplánovali tak, aby každou obec navštívili právě jednou (průjezd obcí se počítá jako její návštěva). Pro zjednodušení předpokládejme, | ||
| - | |||
| - | **Dokažte redukcí z nějakého známého NP-těžkého problému, že problém existence vhodné trasy je NP-těžký.** | ||
| - | |||
| - | **Nápověda: | ||
| - | * **[[wp> | ||
| - | * **[[wp> | ||
| - | * **[[wp> | ||
| - | * **[[wp> | ||
| - | |||
| - | Z nabízených problémů je zvlášť vhodný problém existence Hamiltonské kružnice v neorientovaném grafu. Problém //Výlet// tedy redukujeme na problém // | ||
| - | * Jako uzly grafu zakódujeme města | ||
| - | * Jako hrany zakódujeme silnice mezi městy | ||
| - | |||
| - | Nyní je zřejmé, že problém // | ||