Комбінаторний вибух — термін, який використовується для опису ефекту різкого («вибухового») зростання часової складності алгоритму при збільшенні розміру вхідних даних задачі.
Більш точно це означає, що алгоритм не є поліноміальним, тобто час розв'язування задачі не обмежується ніяким многочленом від довжини входу. Зазвичай такі задачі мають експоненціальну або навіть надекспоненціальну складність.
Походження назви пов'язане з тим, що для розв'язування задачі не вдається знайти іншого способу, крім повного перебору всіх можливих варіантів. У цьому випадку час, що потрібен для розв'язування, пропорційний до кількості всіх можливих конфігурацій, яка визначається на основі тих чи інших комбінаторних міркувань (сполучення, перестановки).
Для обходу проблеми комбінаторного вибуху шукають спеціальні методи розв'язування, зокрема, застосовують евристичні алгоритми.
Приклади
a | b | c | d | e | f | g | h | ||
8 | 8 | ||||||||
7 | 7 | ||||||||
6 | 6 | ||||||||
5 | 5 | ||||||||
4 | 4 | ||||||||
3 | 3 | ||||||||
2 | 2 | ||||||||
1 | 1 | ||||||||
a | b | c | d | e | f | g | h |
Комбінаторний вибух виникає в багатьох задачах пошуку, в задачах прорахунку послідовностей, що розв'язуються методами прямого перебору.
Задача комівояжера
У класичній задачі комівояжера потрібно знайти оптимальну послідовність відвідування комівояжером міст. Єдиний точний спосіб розв'язування задачі полягає в переборі всіх можливих маршрутів і виборі того, який потребує найменшої кількості часу. Тим самим складність розв'язування задачі комівояжера є пропорційною до кількості всіх можливих послідовностей міст, яку можна порахувати за формулою перестановок:
Шахи
Гіпотетично можливо прорахувати всі варіанти ходів у настільній грі шахи від початку гри до кінця методом повного перебору всіх комбінацій. Однак наразі та у найближчому майбутньому розв'язати таку задачу практично неможливо. Наприклад, для обчислювальної машини, здатної прорахувати мільйон ігрових комбінацій за секунду з відкиданням явно неоптимальних гілок, на прорахунок 6 ходів наперед потрібна 1 секунда, на 12 ходів — 11 днів, а на 18 ходів — близько 32 000 років.
Примітки
- Web Dictionary of Cybernetics and Systems [ 2010-08-06 у Wayback Machine.] (англ.)
- A Dictionary of Computing (англ.)
- Articles on Artificial Intelligence [ 2011-08-23 у Wayback Machine.] (англ.)
- Denys Duchier, Claire Gardent and Joachim Niehren. Concurrent Constraint Programming in Oz for Natural Language Processing [ 2011-08-12 у Wayback Machine.] (англ.)
Це незавершена стаття з інформатики. Ви можете проєкту, виправивши або дописавши її. |
Це незавершена стаття з математики. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Kombinatornij vibuh termin yakij vikoristovuyetsya dlya opisu efektu rizkogo vibuhovogo zrostannya chasovoyi skladnosti algoritmu pri zbilshenni rozmiru vhidnih danih zadachi Bilsh tochno ce oznachaye sho algoritm ne ye polinomialnim tobto chas rozv yazuvannya zadachi ne obmezhuyetsya niyakim mnogochlenom vid dovzhini vhodu Zazvichaj taki zadachi mayut eksponencialnu abo navit nadeksponencialnu skladnist Pohodzhennya nazvi pov yazane z tim sho dlya rozv yazuvannya zadachi ne vdayetsya znajti inshogo sposobu krim povnogo pereboru vsih mozhlivih variantiv U comu vipadku chas sho potriben dlya rozv yazuvannya proporcijnij do kilkosti vsih mozhlivih konfiguracij yaka viznachayetsya na osnovi tih chi inshih kombinatornih mirkuvan spoluchennya perestanovki Dlya obhodu problemi kombinatornogo vibuhu shukayut specialni metodi rozv yazuvannya zokrema zastosovuyut evristichni algoritmi Prikladiabcdefgh 8877 66 55 44 33 22 11 abcdefgh Pochatkove polozhennya figur u shahah Kombinatornij vibuh vinikaye v bagatoh zadachah poshuku v zadachah prorahunku poslidovnostej sho rozv yazuyutsya metodami pryamogo pereboru Zadacha komivoyazhera Dokladnishe Zadacha komivoyazhera U klasichnij zadachi komivoyazhera potribno znajti optimalnu poslidovnist vidviduvannya komivoyazherom n displaystyle n mist Yedinij tochnij sposib rozv yazuvannya zadachi polyagaye v perebori vsih mozhlivih marshrutiv i vibori togo yakij potrebuye najmenshoyi kilkosti chasu Tim samim skladnist rozv yazuvannya zadachi komivoyazhera ye proporcijnoyu do kilkosti vsih mozhlivih poslidovnostej mist yaku mozhna porahuvati za formuloyu perestanovok P n n displaystyle P n n Shahi Gipotetichno mozhlivo prorahuvati vsi varianti hodiv u nastilnij gri shahi vid pochatku gri do kincya metodom povnogo pereboru vsih kombinacij Odnak narazi ta u najblizhchomu majbutnomu rozv yazati taku zadachu praktichno nemozhlivo Napriklad dlya obchislyuvalnoyi mashini zdatnoyi prorahuvati miljon igrovih kombinacij za sekundu z vidkidannyam yavno neoptimalnih gilok na prorahunok 6 hodiv napered potribna 1 sekunda na 12 hodiv 11 dniv a na 18 hodiv blizko 32 000 rokiv PrimitkiWeb Dictionary of Cybernetics and Systems 2010 08 06 u Wayback Machine angl A Dictionary of Computing angl Articles on Artificial Intelligence 2011 08 23 u Wayback Machine angl Denys Duchier Claire Gardent and Joachim Niehren Concurrent Constraint Programming in Oz for Natural Language Processing 2011 08 12 u Wayback Machine angl Ce nezavershena stattya z informatiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Ce nezavershena stattya z matematiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi