6.1 Úvod

Následující zajímavý příklad ukazuje, jak rekurentní vztah (rovnice) přirozeně vzniká při studiu problému, za nímž na první pohled žádná rekurence vidět není.

6.1.1 Hanojské věže

Máme tři tyče $A$, $B$ a $C$, na tyči $A$ je navlečeno $n$ kruhových disků postupně se zmenšující velikosti (zdola nahoru). Tyto disky máme přesunout na tyč $B$ tak, že pohybujeme vždy jen jedním diskem na vrcholu věže a nikdy nepoložíme větší disk na menší. Ilustrace této situace je uvedena na Obrázku 6.1.

Obrázek 6.1: Počáteční a koncový stav Hanojských věží s čtyřmi disky.

Řešení si vyzkoušíme pro $n=1$ disk a $n=2$ disky a pak uhádneme obecný postup:

  1. Pro $n = 1$ vezmeme disk z tyče $A$ a přemístíme jej na tyč $B$. Tato situace je prezentována na Obrázku 6.2.

  2. Pro $n = 2$ máme minimálně tři kroky, jak si lze snadno rozmyslet například s pomocí Obrázku 6.3.

Obrázek 6.2: Řešení Hanojských věží s jedním diskem je snadné. V jednom tahu ho přesuneme z jedné tyče na druhou.
Obrázek 6.3: Řešení Hanojských věží v případě dvou disků vyžaduje minimálně tří tahů.

Pojďme se nyní zamyslet nad obecnou situací. Každé řešení problému Hanojských věží lze rozdělit na tři úkony: pro $n > 1$ disků nejprve (nějak) přemístíme vrchních $n - 1$ disků z tyče $A$ na tyč $C$, potom přesuneme největší disk z tyče $A$ na tyč $B$ a na závěr přemístíme $n - 1$ disků z tyče $C$ na tyč $B$. Tyto fáze jsou ilustrovány na Obrázku 6.4.

Obrázek 6.4: Symbolické znázornění obecného postupu při řešení Hanojských věží s $n$ disky. Nejprve přeneseme $n-1$ disků z první tyče na poslední tyč. Poté přemístíme největší disk z první tyče na prostřední tyč. Nakonec přenesem $n-1$ disků z poslední tyče na prostřední tyč.

Označme nyní minimální počet kroků (přesunů jednotlivých disků) k přesunu věže velikosti $n$ z tyče na tyč symbolem $T_n$. Z předchozí diskuze už víme, že $T_0 = 0$, $T_1 = 1$, $T_2 = 3$. Obecný postup popsaný výše pak implikuje rekurentní vztah:

\begin{equation}\label{eq_hanoi}\tag{6.1} T_n = 2 \cdot T_{n-1} + 1, \quad \text{pro} \ n \in \N. \end{equation}

Tento vztah nám umožňuje rekurentně určit další hodnoty $T_n$:

  • $T_0 = 0$, $T_1 = 1$, $T_2 = 3$.

  • $T_3 = 2 \cdot T_2 + 1 = 2 \cdot 3 + 1 = 7$.

  • $T_4 = 2 \cdot T_3 + 1 = 2 \cdot 7 + 1 = 15$.

  • $T_5 = 2 \cdot T_4 + 1 = 2 \cdot 15 + 1 = 31$.

  • atd.

Zkušené oko v těchto numerických hodnotách vidí vztah $T_n = 2^n - 1$, $n \geq 0$.

Je tato intuice správná? Ano, jak se snadno přesvědčíte matematickou indukcí, nebo využitím látky těchto přednášek (viz Příklad 6.7).

6.1.2 Nelineární rekurence

Rekurence

\begin{equation*} T_n = 2 \cdot T_{n-1} + 1 \end{equation*}

byla „lineární“ ve smyslu: výrazy $T_n$ a $T_{n-1}$ se v ní vyskytují pouze v součtu násobené číselnými faktory (přesná definice „linearity“ již zanedlouho).

Jakmile opustíme „linearitu,“ tak se situace může velmi komplikovat, vzpomeňte na tento příklad z BI-MA1:

Příklad 6.1

Posloupnost $(a_n)_{n=0}^\infty$ zadaná rekurentně vztahem

\begin{equation*} a_{n} = 4 \cdot a_{n-1} \cdot (1 - a_{n-1}), \quad n \in \N, \ a_0 \in \langle 0, 1\rangle, \end{equation*}

a známá pod názvem „logistické zobrazení“ se chová chaoticky.

O nelineárních rekurentních rovnicích je obecně výrazně složitější něco říct, podrobněji se jim zde věnovat nebudeme. Tím ovšem ani při nejmenším nenaznačujeme, že by takovéto rekurence nebyly důležité a zajímavé!