Метод хибного положення
У математиці метод хибного положення це дуже давній метод розв’язання рівняння з одним невідомим; цей метод у зміненому вигляді використовується досі. По-простому, це метод проб і помилок із використанням («хибних») припущень для значень змінної та подальшого підправлення тестового значення відповідно до отриманого результату. Це іноді також називають «вгадай і перевір». Версії методу передують появі алгебри та використанню рівнянь.
Як приклад розглянемо задачу 26 у папірусі Рейнда, в якій треба знайти розв'язок (тут поданого в сучасному записі) рівняння x + x/4 = 15. Розв'язок знаходимо виходячи з хибного положення.[1] Спочатку припускаємо, що x = 4, щоб отримати ліворуч 4 + 4/4 = 5. Це припущення хороший вибір, бо воно створює ціле число. Однак 4 це не розв'язок заданого рівняння, бо воно дає значення, яке втричі замале. Щоб надолужити нестачу, помножимо x (наразі встановлений у 4) на 3 і знову підставимо, щоб отримати 12 + 12/4 = 15, переконавшись, що рішення це x = 12.
У сучасних версіях методики ми використовуємо систематичні способи вибору нових пробних значень і переймаємось питаннями про те, можна отримати наближення до розв'язку чи ні, і якщо можна, то як швидко можна знайти наближення.
Історично можна виділити два основних типи методу хибного положення: просте хибне положення та подвійне хибне положення.
Подвійне хибне положення спрямоване на розв'язання складніших задач, які алгебрично можна записати у вигляді: визначити x так, що
якщо a і b відомі. Метод починається з використання пробного вхідного значення x′ і знаходження відповідного вихідного значення b′ шляхом множення: ax′ = b′. Потім правильну відповідь знаходять шляхом пропорційного підправляння, x = b/ b′ x′
Просте хибне положення спрямоване на розв'язання задач, що стосуються прямої пропорції. Такі задачі можна записати алгебрично у вигляді: визначити x таке, що
якщо відомо, що
Подвійне помилкове положення математично рівнозначне лінійній інтерполяції. Використовуючи двійку пробних входів і відповідну двійку виходів, вислід цього алгоритму, заданий як[2]
можна запам'ятати й виконувати.
Для афінної лінійної функції,
подвійне хибне положення забезпечує точне рішення, тоді як для нелінійної функції f воно забезпечує наближення, яке можна послідовно покращувати ітеративним шляхом.
Метод хибного положення надає точний розв'язок для лінійних функцій, але більш прямі алгебричні методи витіснили його використання для цих функцій. Однак у чисельному аналізі подвійне хибне положення стало алгоритмом пошуку коренів, який використовується в ітеративних методах чисельної апроксимації.
Багато рівнянь, включаючи більшість складніших, можна розв’язати лише за допомогою ітераційної чисельної апроксимації. Це метод проб і помилок, під час якого пробуються різні значення невідомої величини. Таким методом проб і помилок можна керувати обчислюючи на кожному кроці процедури нову оцінку для розв'язку. Є багато способів отримати розрахункову оцінку, і цей метод надає один із них.
У заданому рівнянні, перемістіть усі його члени в одну сторону, щоб воно мало вигляд f (x) = 0, де f це деяка функція невідомої змінної x. Значення c, яке задовольняє це рівняння, тобто f (c) = 0, називається коренем або нулем функції f і це розв'язок вихідного рівняння. Якщо f — неперервна функція і існують дві точки a0 і b0 такі, що f (a0) і f (b0) протилежних знаків, то за теоремою про проміжне значення функція f має корінь на проміжку (a0, b0).
Існує багато алгоритмів знаходження кореня, які можна використовувати для отримання наближених значень такого кореня. Один із найпоширеніших це метод Ньютона, але він може не знайти корінь за певних обставин і може бути обчислювально дорогим, бо вимагає обчислення похідної функції. Потрібні інші методи, і один загальний клас методів – це методи двоточкового дужкування. Ці методи просуваються створюючи послідовність все менших проміжків [ak, bk] на k -му кроці, так що (ak, bk) містить корінь f.
Ці методи починаються з двох значень x, спочатку знайдених методом проб і помилок, при яких f (x) має протилежні знаки. Згідно з припущенням безперервності, корінь f гарантовано лежить між цими двома значеннями, тобто ці значення «закривають» корінь. Потім вибирається точка, що лежить між цими двома значеннями, і використовується для створення меншого проміжку, який все ще бере в дужки корінь. Якщо вибрана точка c, то маємо менший інтервал, який пролягає від c до кінцевої точки, де f (x) має знак, протилежний знаку f (c). У малоймовірному випадку, коли f (c) = 0, корінь знайдено, і алгоритм зупиняється. В іншому випадку процедура повторюється так часто, як необхідно, щоб отримати наближення до кореня з будь-якою бажаною точністю.
Точку, обрану в будь-якому поточному інтервалі, можна розглядати як оцінку рішення. Різні варіанти цього методу передбачають різні способи обчислення цієї оцінки рішення.
Збереження дужок і забезпечення того, що оцінки рішення лежать всередині інтервалів дужок, гарантує, що оцінки рішення будуть збігатися до розв’язку, ця гарантія недоступна з іншими методами пошуку кореня, такими як метод Ньютона або метод січної.
Це гарантує, що ck лежить між ak і bk, тим самим гарантуючи збіжність до рішення.
А що довжина проміжку дужкування зменшується вдвічі на кожному кроці, похибка методу поділу навпіл зменшується в середньому вдвічі з кожною ітерацією. Таким чином, кожні 3 ітерації метод отримує приблизно коефіцієнт 2 3, тобто приблизно десятковий знак, у точності.
Швидкість збіжності методу поділу навпіл можна було б покращити за допомогою іншого оцінювання розв'язку.
Метод хибного положення обчислює нову оцінку розв’язку як точку перетину x відрізка, що з’єднує кінцеві точки функції на поточному інтервалі дужок. По суті, корінь апроксимується шляхом заміни фактичної функції відрізком лінії на проміжку дужкування, а потім використанням класичної формули подвійного хибного положення на цьому відрізку лінії. [3]
Точніше, припустімо, що на k-й ітерації проміжок дужкування це (ak, bk). Збудуємо пряму через точки (ak, f (ak)) і (bk, f (bk)), як показано на рисунку. Ця пряма це січна або хорда графіка функції f. У формі з коефіцієнтом нахилу її рівняння задається як
Тепер виберемо ck як точку перетину цієї лінії з віссю x, тобто значення x, для якого y = 0, і підставимо ці значення, щоб отримати
Розв'язування цього рівняння для c k дає:
Ця остання симетрична форма має обчислювальну перевагу:
З наближенням до розв’язку ak і bk будуть дуже близькими одне до одного і майже завжди з однаковим знаком. При такому відніманні можна втратити значущі розряди. А що f (bk) і f (ak) завжди мають протилежний знак, «віднімання» в чисельнику вдосконаленої формули фактично є додаванням (як і віднімання в знаменнику).
На ітерації з номером k число ck обчислюється, як зазначено вище, а потім, якщо f (ak) і f (ck) мають однаковий знак, встановлюємо ak + 1 = ck і bk + 1 = bk, інакше встановлюємо ak + 1 = ak і bk + 1 = ck. Цей процес повторюється до тих пір, поки корінь не буде достатньо добре апроксимований.
Наведена вище формула також використовується в методі хорд, але метод хорд завжди зберігає останні дві обчислені точки, тому, хоча він трохи швидший, він не зберігає дужкування і може не збігатися.
Той факт, що метод хибного положення завжди збігається має версії, які добре уникають сповільнення, робить його добрим вибором, коли потрібна швидкість. Однак швидкість його збіжності може бути нижчою, ніж у методу бісекції.
А що початкові кінці проміжку a0 і b0 обрані так, що f (a0) і f (b0) мають протилежні знаки, на кожному кроці одна з кінцевих точок буде наближатися до кореня f. Якщо друга похідна f має на проміжку постійний знак (тобто немає точки перегину), тоді одна кінцева точка (та, де f також має той самий знак) залишатиметься фіксованою для всіх наступних ітерацій, тоді як інша кінцева точка оновлюватиметься. Як наслідок, на відміну від методу поділу навпіл, відстань між дужками не прагне до нуля (якщо тільки нуль не знаходиться в точці перегину навколо якого sign(f ) = −sign(f ")). Як наслідок, лінійна апроксимація f (x), який використовується для вибору хибної позиції, не покращується настільки швидко, наскільки це можливо.
Одним із прикладів цього явища є функція
на початковому проміжку [− 1,1]. Лівий кінець, −1, ніколи не замінюється (він не змінюється спочатку та після перших трьох ітерацій, f " від'ємна на інтервалі), тому ширина проміжку ніколи не опускається нижче 1. Отже, права кінцева точка наближається до 0 з лінійною швидкістю (кількість точних цифр зростає лінійно, зі швидкістю збіжності 2/3).
Для функцій з розривами можна очікувати, що цей метод знайде лише точку, де функція змінює знак (наприклад, при x = 0 для 1/x або функції знаку). На додаток до зміни знаку, також можливо, щоб метод збігався до точки, де границя функції рівна нулю, навіть якщо функція не визначена (або має інше значення) у цій точці (наприклад, при x = 0 для функції, задана f (x) = abs(x) − x2 коли x ≠ 0 і через f (0) = 5, починаючи з інтервалу [-0,5, 3,0]). Математично це можливо, щоб у функції з розривами метод не збігся до нульової границі або зміни знаку, але це не завдає клопоту на практиці, бо знадобиться нескінченна послідовність збігів, щоб обидві кінцеві точки застрягти й не збіглись до розривів, в яких знак не змінюється, наприклад при x = ±1 в
Метод поділу навпіл дозволяє уникнути цієї гіпотетичної проблеми збіжності.
- ↑ Katz, Victor J. (1998), A History of Mathematics (вид. 2nd), Addison Wesley Longman, с. 15, ISBN 978-0-321-01618-8
- ↑ Smith, D. E. (1958) [1925], History of Mathematics, т. II, Dover, с. 437—441, ISBN 978-0-486-20430-7
- ↑ Conte, S.D.; Boor, Carl de (1965). Elementary Numerical Analysis: an algorithmic approach (вид. 2nd). McGraw-Hill. с. 40. OCLC 1088854304.