Přejít na hlavní obsah

Jak vyřešit rekurentní poměr

  • Lumír Šimková
  • Triky

V tomto článku se podíváme na podrobné pokyny, jak odvodit rekurentní poměr. Začneme základními pojmy a definicemi, poté se ponoříme do příkladů, abychom proces ilustrovali.

Obecné schéma řešení recurrentního poměru

Pro řešení recurrentního poměru je nutné provést následující kroky:

  1. Identifikovat základní případ: najít hodnotu, kterou lze vyjádřit přímo, bez použití recurrentního poměru.
  2. Definovat recurrentní poměr: vyjádřit aktuální člen sekvence prostřednictvím předchozích členů.
  3. Řešit rekurentní poměr:
    • Pokud je rekurentní poměr lineární, můžete použít metodu charakteristické rovnice nebo metodu bližšího pohledu.
    • Pokud je rekurentní poměr nelineární, můžete zkusit použít metodu oddělení proměnných nebo metodu indexových posunů.
  4. Vypočítejte hodnoty sekvence pomocí nalezeného řešení.

Vezměme si příklad řešení recurrentního poměru:

Задано рекуррентное соотношение:an = 2an-1 - 2an-2Базовый случай:a0 = 1, a1 = 2Решаем рекуррентное соотношение:Характеристическое уравнение: r2 - 2r + 2 = 0Корни характеристического уравнения: r1 = 1 + i, r2 = 1 - iОбщее решение рекуррентного соотношения:an = C1(1 + i)n + C2(1 - i)nНаходим константы, используя начальные условия:C1 = (a0 - C2) / (1 + i)0 = 1 - C2C2(1 - i) = a1 - C1(1 + i) = 2 - (1 - C2)(1 + i)C2 - C2i = 2 - (1 - C2)(1 + i)Разбираем выражение и находим значение C2:C2i = -i2 - (1 - C2)(1 + i) = 2 - (1 - C2 - i + iC2) = 1 + C2 - i(2 - C2)C2(1 + i) = 1 + C2 - i(2 - C2)C2 + C2i + C2i^2 = 1 + C2 - 2i + iC2C2 - i^2C2 = 1 - 2i + iC2C2 + C2 = 1 - 2i + iC22C2 = 1 - 2i + iC22C2 - iC2 = 1 - 2iC2(2 - i) = 1 - 2iC2 = (1 - 2i) / (2 - i)Подставляем найденные значения в общее решение:an = (1 - C2)(1 + i)n + C2(1 - i)n

Rozklad v něm obsažených

Při řešení recurrentních poměrů je často nutné rozložit každé slagované v poměru. To umožňuje zjednodušit poměr a najít jednodušší vzorec pro nalezení požadované hodnoty.

Chcete-li rozložit slagát, musíte dodržovat určitou sekvenci akcí:

  1. Rozložte původní slag na několik menších slagů.
  2. Pokud jsou v rozkladu přítomny slagáty, které jsou také součástí původního slagátu, rozložte je na oplátku.
  3. Pokračujte v rozkladu, dokud nedosáhnete základního případu, který se bude skládat z jednoduchých sloučenin.

Výsledkem rozkladu slagovaných bude tabulka, ve které budou představeny všechny složené původní rekurentní poměry. Tato tabulka může být použita k usnadnění výpočtu hodnoty recurrentního poměru.

SčítanecRozklad
an-1an-2 + an-3 + . + a1 + a0
an-2an-3 + an-4 + . + a1 + a0
. .
a1a0

V důsledku rozkladu získáme jednoduché slagovatelné, které lze vyhodnotit a zkombinovat, aby se našla požadovaná hodnota recurrentního poměru.

Hledání společného vzorce

Pro nalezení celkového vzorce je třeba zvážit již vypočítané hodnoty sekvence a najít vzorec mezi nimi. To lze obvykle provést analýzou rozdílů mezi prvky sekvence. Pokud rozdíly mezi prvky tvoří aritmetickou nebo geometrickou progresi, pak lze předpokládat, že i samotná sekvence má odpovídající vzor.

Dalším přístupem k nalezení obecného vzorce je použití charakteristické rovnice pro recurrentní poměr. Tato rovnice umožňuje najít kořeny, které se pak používají k nalezení celkového vzorce. Tato metoda je však složitější a vyžaduje znalost matematického aparátu.

Po nalezení celkového vzorce lze vypočítat hodnotu prvku sekvence podle jeho čísla pomocí nalezeného vzorce na základě podmínek úlohy. Tento přístup usnadňuje řešení recurrentního poměru a šetří čas a zdroje na výpočtech.

Číslo položkyVýznam prvku
01
11
22
33
45

Například u sekvence uvedené v tabulce výše lze pozorovat, že rozdíly mezi prvky tvoří Fibonacciho sekvenci. Lze tedy předpokládat, že samotná sekvence se nachází v Fibonacciho číslech. Ověření tohoto předpokladu ukazuje, že tomu tak skutečně je a obecný vzorec pro danou sekvenci by byl F(n) = F(n-1) + F(n-2).

Nalezení celkového vzorce pro rekurentní poměr tedy umožňuje snadnější řešení problému a úsporu času na výzkum a výpočty.

Příklady řešení recurrentních poměrů

Níže je několik příkladů řešení recurrentních poměrů:

1. Nejjednodušší příklad. Rekurentní poměr: F(n) = F(n-1) + F(n-2), kde F(0) = 0 a F (1) = 1. K řešení tohoto poměru lze použít metodu dynamického programování:

F(0) = 0F(1) = 1for i from 2 to n:F(i) = F(i-1) + F(i-2)

2. Výzva k vybarvení plotu. Rekurentní poměr: C(n) = C(n-1) + C(n-2), kde C(0) = 1 a C (1) = 2. Zde C (n) představuje počet způsobů, jak vybarvit plot o délce n:

C(0) = 1C(1) = 2for i from 2 to n:C(i) = C(i-1) + C(i-2)

3. Fibonacciho Čísla. Rekurentní poměr: F(n) = F(n-1) + F(n-2), kde F(0) = 0 a F (1) = 1. Je to jeden ze známých recurrentních poměrů, který určuje posloupnost Fibonacciho čísel:

F(0) = 0F(1) = 1for i from 2 to n:F(i) = F(i-1) + F(i-2)

To je jen několik příkladů řešení rekurentních poměrů. Znalost algoritmů a metod dynamického programování umožňuje efektivně řešit mnoho problémů založených na recurrentních poměrech.