Ітерація

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Ітера́ція (від лат. iteratio — повторювання) — багатозначний термін, який залежно від контексту може означати:

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

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

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

Задача про нерухому точку

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

Ітерації застосовуються для розв'язування задачі

,

де x — елемент певної множини, а A — оператор, що відображає множину саму в себе.

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

.

Продовжуючи послідовно застосовувати оператор A, отримуємо для n-ї ітерації:

.

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

Однак ітераційна процедура не завжди збіжна.

Фрактальні структури

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

Незбіжні ітеративні процедури використовуються для побудови та вивчення фракталів. Наприклад, множина Мандельброта утворюється при ітеруванні:

,

де , та c — комплексні числа.

Програмування

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

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

Див. також

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

Джерела

[ред. | ред. код]
  • Бевз Г.П. Довідник з математики. — К. : Радянська школа, 1981. — 262 с.
  • Алан Шаллоуей, Джеймс Р. Тротт. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию = Design Patterns Explained: A New Perspective on Object-Oriented Design. — М. : «Вильямс», 2002. — 288 с. — ISBN 0-201-71594-5.