Перейти до вмісту

Рекурентне співвідношення

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.

Рекурентне співвідношення або рекурентне рівняння — рівняння, що встановлює залежність між членами невідомої послідовності та індексом.

Рекурентні співвідношення мають застосування в аналізі алгоритмів, цифровій обробці сигналів, економіці та біології. У комбінаториці часто виникають задачі, які можна звести до аналогічних задач для меншої кількості об'єктів. У цьому випадку задачу можна розв'язати за допомогою рекурентного співвідношення.

Задача розв'язування рекурентного співвідношення є знаходження невідомої послідовності. Загалом ця задача має нескінченно багато розв'язків. Кількість розв'язків обмежується заданням для невідомої послідовності початкових членів.

Основні поняття і означення

[ред. | ред. код]

Послідовність називається рекурентною, якщо задані перші k членів , а наступні члени визначаються через k попередніх членів і через їх номер у послідовності за правилом:

 

 

 

 

(*)

де R — деяка відома функція.

Співвідношення (рівняння) вигляду (*) називається рекурентним.

Порядком рекурентного співвідношення називається різниця між найбільшим та найменшим індексами членів, що входять у співвідношення.

Розв'язком рекурентного співвідношення називається послідовність, підставлення якої у співвідношення перетворює його у тотожність.

Початковими умовами називаються додаткові умови, що накладаються на послідовність, заданням значень її початкових членів.

Розв'язок рекурентного співвідношення, що залежить від довільних сталих, які можуть бути підібраними при будь-яких початкових умовах, називається загальним. Частинним розв'язком рекурентного співвідношення називається будь-який розв'язок, що може бути отриманий із загального, встановленням значень його сталих.

Приклади

[ред. | ред. код]
  • Рекурентне співвідношення послідовності n!:

Лінійні рекурентні співвідношення

[ред. | ред. код]

Лінійні однорідні рекурентні співвідношення зі сталими коефіцієнтами

[ред. | ред. код]

Лінійним однорідним рекурентним співвідношенням зі сталими коефіцієнтами порядку k називається рівняння

де всі коефіцієнти  — сталі.

Ці коефіцієнти визначають характеристичний поліном (або допоміжний поліном) цього співвідношення

.

Згідно з основною теоремою алгебри рівняння , яке називається характеристичним, має коренів. Ці корені відіграють вирішальну роль в знаходженні невідомої послідовності.

Якщо всі корені прості, то загальний розв'язок такого рекурентного співвідношення має вигляд:

де  — сталі.

У випадку коли характеристичне рівняння має багатократні корені загальний розв'язок матиме вигляд:

де  — кратність кореня ,  — сталі.

Якщо задані початкові умови для лінійного однорідного рекурентного співвідношення зі сталими коефіцієнтами порядку k, то коефіцієнти (або ) знаходяться за допомогою розв'язання відповідної системи лінійних рівнянь. У іншому випадку ці коефіцієнти можуть мати будь-які значення, тобто рекурентне співвідношення має нескінченну кількість розв'язків. І ці розв'язки утворюють k-вимірний лінійний простір.

Лінійні неоднорідні рекурентні співвідношення зі сталими коефіцієнтами

[ред. | ред. код]

Лінійним неоднорідним рекурентним співвідношенням зі сталими коефіцієнтами порядку k називається рівняння

де всі коефіцієнти  — сталі,  — деяка відома ненульова послідовність.

Загальний розв'язок такого співвідношення дорівнює сумі його частинного розв'язку і загального розв'язку відповідного лінійного однорідного співвідношення

Для відшукання частинного розв'язку лінійного неоднорідного рекурентного співвідношення важливу роль відіграє принцип суперпозиції.[1] Його застосування полягає в тому, що вільний член подається у вигляді суми, в певному сенсі, простіших функцій Далі використовується твердження, що якщо послідовність є розв'язком рекурентного співвідношення

де j = 1, ..., m, то розв'язок початкового лінійного неоднорідного рекурентного співвідношення має наступний вигляд:

У випадку, коли де та s — сталі, частковий розв'язок неоднорідного рекурентного співвідношення матиме вигляд де  — деякі сталі, , якщо s не дорівнює жодному кореню характеристичного рівняння відповідного лінійного однорідного співвідношення, інакше r дорівнює кратності кореня, з яким збігається s.[2]

Лінійні рекурентні співвідношення з поліноміальними коефіцієнтами

[ред. | ред. код]

Лінійним рекурентним співвідношенням з поліноміальними коефіцієнтами порядку k називається рівняння

де всі коефіцієнти  — відомі поліноми, причому p0 і pk ненульові,  — деяка відома послідовність.

Методи розв'язання таких рекурентних співвідношень почали з'являтись з пізніх 1980-х. Сергій Абрамов спочатку розробив метод знаходження поліноміальних розв'язків[en][3], а потім — раціональних розв'язків.[4] Останній метод отримав назву «алгоритм Абрамова[en]». У 1992 Марко Петковшек[en] знайшов алгоритм[en], названий пізніше його ім'ям, для знаходження розв'язків у більш специфічному класі послідовностей.[5]

Нелінійні рекурентні співвідношення

[ред. | ред. код]

Розв'язки нелінійних рекурентних співвідношень можна знаходити за допомогою генератрис.

Для цього нелінійне рекурентне співвідношення помножимо на , і отриману рівність просумуємо по всіх Після цього у лівій частині рівності отримаємо генератрису

а праву частину перетворимо так, щоб вона перетворилася у вираз від Далі розв'язуємо отримане рівняння відносно

Потім розкладаємо у степеневий ряд. Коефіцієнти отриманого ряду утворюють розв'язок початкового нелінійного рекурентного співвідношення.[6]

Застосування

[ред. | ред. код]

Аналіз алгоритмів

[ред. | ред. код]

Рекурентні співвідношення мають принципове значення в аналізі алгоритмів.[7][8] Якщо алгоритм влаштований так, що він розбивається на декілька менших підзадач, то можна описати час його роботи з допомогою рекурентного співвідношення.

Простий приклад це час, необхідний алгоритму для пошуку елемента в масиві з елементів, в найгіршому випадку.

Примітивний алгоритм перебирає масив зліва направо. Найгіршим випадком, буде ситуація в якій потрібний елемент є останнім. В цьому випадку кількість порівнянь дорівнюватиме .

Найкращим алгоритмом для цієї задачі є бінарний пошук. Однак для нього потрібен відсортований масив. Спочатку він перевіряє, чи знаходиться потрібний елемент в середині масиву. Якщо ні, то перевіряє, чи середній елемент більший або менший за шуканий елемент. Після цього половина масиву може бути відкинута, і алгоритм може працювати знову на половині, що залишилась. Кількість порівнянь при виконанні цього алгоритму описується наступним рекурентним співвідношенням:

За допомогою цього співвідношення можна довести, що часова складність бінарного пошуку дорівнює .

Економіка

[ред. | ред. код]
Докладніше: Часовий ряд

Рекурентні співвідношення, особливо лінійні рекурентні співвідношення, використовуються як в теоретичній, так і в емпіричній економіці.[9][10] Зокрема, в макроекономіці можна розробити модель різних широких секторів економіки (фінансовий сектор, сектор товарів, ринок праці тощо), в якій дії деяких агентів залежать від лагових змінних. Потім модель розв'язується для поточних значень ключових змінних (відсоткова ставка, реальний ВВП тощо) відносно минулих та поточних значень інших змінних.

Математична біологія

[ред. | ред. код]

Деякі з найвідоміших рекурентних співвідношень беруть свій початок у спробі моделювання популяційної динаміки. Наприклад, числа Фібоначчі колись використовували як модель зростання популяції кроликів.

Логістичне відображення використовується або безпосередньо для моделювання зростання популяції, або як відправна точка для більш детальних моделей популяційної динаміки. У цьому контексті для моделювання взаємодії двох або більше популяцій часто використовують систему різницевих рівнянь.

Наприклад, модель Ніколсона-Бейлі[en] для взаємодії «хазяїн-паразит» має вигляд

де Nt — кількість хазяїв, а Pt — кількість паразитів у момент часу t.

Для просторової екології корисними є інтегрорізницеві рівняння, які є формою рекурентних співвідношень. Ці та інші різницеві рівняння особливо добре підходять для моделювання одновікових популяцій.

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Balakrishnan, 1996, с. 97-98
  2. Kenneth, 2019, с. 549
  3. Abramov, Sergei A. (1989). Problems in computer algebra that are connected with a search for polynomial solutions of linear differential and difference equations. Moscow University Computational Mathematics and Cybernetics. 3.
  4. Abramov, Sergei A. (1989). Rational solutions of linear differential and difference equations with polynomial coefficients. USSR Computational Mathematics and Mathematical Physics. 29 (6): 7—12. doi:10.1016/s0041-5553(89)80002-3. ISSN 0041-5553.
  5. Petkovšek, Marko (1992). Hypergeometric solutions of linear recurrences with polynomial coefficients. Journal of Symbolic Computation. 14 (2–3): 243—264. doi:10.1016/0747-7171(92)90038-6. ISSN 0747-7171.
  6. Ганюшкін, 2024, с. 156
  7. Cormen, T. et al, Introduction to Algorithms, MIT Press, 2009
  8. R. Sedgewick, F. Flajolet, An Introduction to the Analysis of Algorithms, Addison-Wesley, 2013
  9. Stokey, Nancy L.; Lucas, Robert E. Jr.; Prescott, Edward C. (1989). Recursive Methods in Economic Dynamics. Cambridge: Harvard University Press. ISBN 0-674-75096-9.
  10. Ljungqvist, Lars; Sargent, Thomas J. (2004). Recursive Macroeconomic Theory (вид. Second). Cambridge: MIT Press. ISBN 0-262-12274-X.

Література

[ред. | ред. код]

Українською

[ред. | ред. код]

Іншими мовами

[ред. | ред. код]