Цю статтю треба для відповідності Вікіпедії. (серпень 2013) |
Методи розробки алгоритмів — це загальний підхід у інформатиці до реалізації процесу обчислення.
Метод частинних цілей
Цей метод полягає у тому, що глобальна велика задача ділиться (якщо це можливо) на окремі задачі. Якщо велику задачу, можливо, і не можна осягнути, зрозуміти, як її розв'язувати, то для кожної з поділених задач може існувати давно відомий алгоритм розв'язку, або пошук такого алгоритму є значно легшою задачею.
Динамічне програмування
Динамічним програмуванням (в найбільш загальній формі) називають процес покрокового розв'язку задачі, коли на кожному кроці вибирається один розв'язок з множини допустимих на цьому кроці, причому такий, який оптимізує задану цільову функцію або функцію критерію. В основі теорії динамічного програмування лежить принцип оптимальності Белмана.
Метод сходження
Даний метод полягає у тому, щоби протягом пошуку найкращого розв'язку алгоритм відшукував все кращі та кращі варіанти розв'язку. Якщо ввести деяку кількісну оцінку якості розв'язку, який шукається, то такий метод подібний на здолання все нової та нової висоти при сходженні на вершину
Дерева розв'язків
Багато складних реальних задач можна змоделювати за допомогою дерев розв'язків. Кожний вузол дерева представляє один крок вирішення задачі. Кожна гілка в дереві представляє розв'язок, який веде до більш повного рішення. Листки є остаточним розв'язком. Мета полягає в тому, щоб знайти «найкращий шлях» від кореня дерева до листка при виконанні певних умов. Ці умови і значення поняття «найкращий» для шляху залежить від конкретної задачі.
Метод відпрацювання назад
Цей метод полягає у тому, щоб, почавши не з початку, а з цільової точки, якщо це можливо, визначити, як і звідки у неї можна потрапити. Далі слід шукати шляхи не до мети безпосередньо, а до «проміжних пунктів».
Програмування з поверненнями назад
Іноді доводиться мати справу з задачами пошуку оптимального розв'язку, коли неможливо застосувати жоден з відомих алгоритмів, які здатні допомогти відшукати оптимальний варіант розв'язку, і залишається застосувати останній засіб — повний перебір.
Метод спроб та помилок
Багато задач не допускають аналітичного розв'язку, а тому їх доводиться вирішувати методом спроб та помилок, тобто перебираючи усі можливі варіанти та відкидаючи їх у випадку невдачі. У разі, якщо побудова розв'язку є складною процедурою, то фактично під час роботи будується дерево можливих кроків алгоритму, а потім — у випадку невдачі — відрізаються відповідні гілки дерева, доки не буде побудовано той шлях, який веде до успіху. Проходження вздовж гілок дерева та відхід у разі невдач і є алгоритм з поверненнями.
Одна дуже проста умова дозволяє позбавитися від розгляду значної частини типового дерева гри. Цикл (6) в алгоритмі може ігнорувати певних нащадків, досить часто доволі велику їх кількість.
Загальне правило відсікання вузлів зв'язане з поняттям кінцевих і приблизних значень вузлів. Кінцеве значення — це то, що називають виграшем. Приблизне значення — це верхня межа значення вузла в режимі MIN, або нижня межа значення вузла в режимі MAX. Приведемо правила обчислення цих значень.
1. Якщо вже розглянуто або відсічено всіх нащадків вузла, то його приблизне значення стає кінцевим.
2.Якщо орієнтовне значення вузла в режимі MAX рівне v1, а кінцеве значення одного з його нащадків рівне v2, тоді встановити приблизне значення вузла рівним max(v1,v2). Якщо вузол знаходиться в режимі MIN — min(v1,v2).
3. Якщо p є вузлом в режимі MAX, і має батька q, а приблизні значення вузлів рівні v1 і v2, відповідно, причому v1<v2, тоді можна відсікти всіх нерозглянутих нащадків вузла p, якщо p є вузлом в режимі MAX, а q є, таким чином в режимі MIN, і v2<v1.
Метод гілок і границь
Метод гілок і границь є ще одним з методів відсікання гілок в дереві рішень, щоб не було необхідно розглядати всі гілки дерева. Загальний підхід при цьому полягає в тому, щоб відстежувати межі вже знайдених і можливих рішень. Якщо в якійсь точці найкраще з вже знайдених рішень краще, ніж найкраще можливе рішення в нижніх гілках, то можна ігнорувати всі шляхи вниз від вузла.
Див. також
Примітки
- Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001). (англ.). MIT Press. с. 9. ISBN . Архів оригіналу за 14 квітня 2021. Процитовано 20 серпня 2021.
- . Oxford Dictionaries | English. Архів оригіналу за 23 березня 2019. Процитовано 23 березня 2019.
Джерела
- Методи розробки алгоритмів: Тексти лекцій / О. В. Костів, С. А. Ярошко; Львів. нац. ун-т ім. І.Франка. — Л., 2002. — 99 c. — Бібліогр.: 10 назв.
Посилання
- Теорія алгоритмів і математична логіка
Це незавершена стаття про алгоритми. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cyu stattyu treba vikifikuvati dlya vidpovidnosti standartam yakosti Vikipediyi Bud laska dopomozhit dodavannyam dorechnih vnutrishnih posilan abo vdoskonalennyam rozmitki statti serpen 2013 Metodi rozrobki algoritmiv ce zagalnij pidhid u informatici do realizaciyi procesu obchislennya Metod chastinnih cilej Cej metod polyagaye u tomu sho globalna velika zadacha dilitsya yaksho ce mozhlivo na okremi zadachi Yaksho veliku zadachu mozhlivo i ne mozhna osyagnuti zrozumiti yak yiyi rozv yazuvati to dlya kozhnoyi z podilenih zadach mozhe isnuvati davno vidomij algoritm rozv yazku abo poshuk takogo algoritmu ye znachno legshoyu zadacheyu Dinamichne programuvannya Dinamichnim programuvannyam v najbilsh zagalnij formi nazivayut proces pokrokovogo rozv yazku zadachi koli na kozhnomu kroci vibirayetsya odin rozv yazok z mnozhini dopustimih na comu kroci prichomu takij yakij optimizuye zadanu cilovu funkciyu abo funkciyu kriteriyu V osnovi teoriyi dinamichnogo programuvannya lezhit princip optimalnosti Belmana Metod shodzhennya Danij metod polyagaye u tomu shobi protyagom poshuku najkrashogo rozv yazku algoritm vidshukuvav vse krashi ta krashi varianti rozv yazku Yaksho vvesti deyaku kilkisnu ocinku yakosti rozv yazku yakij shukayetsya to takij metod podibnij na zdolannya vse novoyi ta novoyi visoti pri shodzhenni na vershinu Dereva rozv yazkiv Bagato skladnih realnih zadach mozhna zmodelyuvati za dopomogoyu derev rozv yazkiv Kozhnij vuzol dereva predstavlyaye odin krok virishennya zadachi Kozhna gilka v derevi predstavlyaye rozv yazok yakij vede do bilsh povnogo rishennya Listki ye ostatochnim rozv yazkom Meta polyagaye v tomu shob znajti najkrashij shlyah vid korenya dereva do listka pri vikonanni pevnih umov Ci umovi i znachennya ponyattya najkrashij dlya shlyahu zalezhit vid konkretnoyi zadachi Metod vidpracyuvannya nazad Cej metod polyagaye u tomu shob pochavshi ne z pochatku a z cilovoyi tochki yaksho ce mozhlivo viznachiti yak i zvidki u neyi mozhna potrapiti Dali slid shukati shlyahi ne do meti bezposeredno a do promizhnih punktiv Programuvannya z povernennyami nazad Inodi dovoditsya mati spravu z zadachami poshuku optimalnogo rozv yazku koli nemozhlivo zastosuvati zhoden z vidomih algoritmiv yaki zdatni dopomogti vidshukati optimalnij variant rozv yazku i zalishayetsya zastosuvati ostannij zasib povnij perebir Metod sprob ta pomilok Bagato zadach ne dopuskayut analitichnogo rozv yazku a tomu yih dovoditsya virishuvati metodom sprob ta pomilok tobto perebirayuchi usi mozhlivi varianti ta vidkidayuchi yih u vipadku nevdachi U razi yaksho pobudova rozv yazku ye skladnoyu proceduroyu to faktichno pid chas roboti buduyetsya derevo mozhlivih krokiv algoritmu a potim u vipadku nevdachi vidrizayutsya vidpovidni gilki dereva doki ne bude pobudovano toj shlyah yakij vede do uspihu Prohodzhennya vzdovzh gilok dereva ta vidhid u razi nevdach i ye algoritm z povernennyami Alfa beta vidsikannya Odna duzhe prosta umova dozvolyaye pozbavitisya vid rozglyadu znachnoyi chastini tipovogo dereva gri Cikl 6 v algoritmi mozhe ignoruvati pevnih nashadkiv dosit chasto dovoli veliku yih kilkist Zagalne pravilo vidsikannya vuzliv zv yazane z ponyattyam kincevih i pribliznih znachen vuzliv Kinceve znachennya ce to sho nazivayut vigrashem Priblizne znachennya ce verhnya mezha znachennya vuzla v rezhimi MIN abo nizhnya mezha znachennya vuzla v rezhimi MAX Privedemo pravila obchislennya cih znachen 1 Yaksho vzhe rozglyanuto abo vidsicheno vsih nashadkiv vuzla to jogo priblizne znachennya staye kincevim 2 Yaksho oriyentovne znachennya vuzla v rezhimi MAX rivne v1 a kinceve znachennya odnogo z jogo nashadkiv rivne v2 todi vstanoviti priblizne znachennya vuzla rivnim max v1 v2 Yaksho vuzol znahoditsya v rezhimi MIN min v1 v2 3 Yaksho p ye vuzlom v rezhimi MAX i maye batka q a priblizni znachennya vuzliv rivni v1 i v2 vidpovidno prichomu v1 lt v2 todi mozhna vidsikti vsih nerozglyanutih nashadkiv vuzla p yaksho p ye vuzlom v rezhimi MAX a q ye takim chinom v rezhimi MIN i v2 lt v1 Metod gilok i granic Metod gilok i granic ye she odnim z metodiv vidsikannya gilok v derevi rishen shob ne bulo neobhidno rozglyadati vsi gilki dereva Zagalnij pidhid pri comu polyagaye v tomu shob vidstezhuvati mezhi vzhe znajdenih i mozhlivih rishen Yaksho v yakijs tochci najkrashe z vzhe znajdenih rishen krashe nizh najkrashe mozhlive rishennya v nizhnih gilkah to mozhna ignoruvati vsi shlyahi vniz vid vuzla Div takozhRozdilyaj ta volodaryuj informatika Dinamichne programuvannyaPrimitkiCormen Thomas H Leiserson Charles E Rivest Ronald L Stein Clifford 2001 angl MIT Press s 9 ISBN 9780262032933 Arhiv originalu za 14 kvitnya 2021 Procitovano 20 serpnya 2021 Oxford Dictionaries English Arhiv originalu za 23 bereznya 2019 Procitovano 23 bereznya 2019 DzherelaMetodi rozrobki algoritmiv Teksti lekcij O V Kostiv S A Yaroshko Lviv nac un t im I Franka L 2002 99 c Bibliogr 10 nazv PosilannyaTeoriya algoritmiv i matematichna logika Ce nezavershena stattya pro algoritmi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi