МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
||||||||||||||||||||||||
Генетичний алгоритмЦей пошук часто показує хорошу продуктивність, але і заходить у глухий кут з наступних причин (рис.2.6): Рисунок 13.9 – Локальний максимум та плато
1. Локальні максимуми. Подолати їх локальний пошук не в змозі. 2. Плато. Область, в якій евристика не змінюється від ходу до ходу. Для усунення недоліків використовуються наступні модифікації локального пошуку: рух у бік (дозвіл на певне число ходів при незмінній або погіршується евристиці); стохастичний пошук з сходженням до вершини (вибір випадковим чином одного з варіантів сходження до вершини); пошук з сходженням до вершини і перезапуском. Кожна з різновидів пошуку, природно, вимагає збільшеного числа локальних ітерацій, але радикально прискорює загальний рух до мети. Так, пошук зі сходженням до вершини і перезапуском для варіанту з трьома мільйонами ферзів дозволяє знаходити рішення менше, ніж за хвилину. Ще одним із різновидів локального пошуку є генетичний алгоритм. Основними етапами алгоритму, що спричиняються його назву, є відбір, схрещування і мутації. У задачі про вісім ферзів цей алгоритм може використовуватися наступним чином: 1. Вибираються позиції з кращими значеннями евристик (відбір). 2. Дошка «розрізається» по вертикалі або по горизонталі, і частини дошки від різних позицій з'єднуються разом (схрещування). 3. В отримані нові комбінації вносяться випадкові зміни (мутації). 4. Якщо отримана позиція гірше попередніх, вона відкидається, якщо краще, запам'ятовується (відбір). 5. З наявних кращих позицій все повторюється з п.2. Генетичні алгоритми широко використовуються при вирішенні оптимізаційних задач, хоча до цих пір не ясно, викликана їх популярність високою ефективністю або естетичною привабливістю і схожістю з теорією еволюції Дарвіна.
13.4 Пошук в умовах протидії У попередніх завданнях складність знаходження рішення визначалася тільки розмірністю простору станів. Існує клас задач, в яких присутній елемент невизначеності. До них відносяться всі ігрові завдання. Ми не будемо розглядати шахи (оцініть самі комбінаторну складність на перші 40 ходів, коефіцієнт розгалуження на першому ході 20), а повернемося до гри в сірники. На перший погляд тут те ж саме дерево рішень. Гравець і його супротивник мають 3 варіанти ходу на кожному етапі. Проблема полягає в тому, що якщо ми вибрали гілку дерева, яка приводить нас до перемоги, то це ніяк не влаштовує супротивника, і він зовсім не буде рухатися по цій гілці, а вживе всіх заходів, щоб не дати нам виграти. Так, показана на ланцюжку: 5 - 3 - 0 сірників нас влаштовує (вузли відображають число сірників, яке залишається після зробленого ходу), але противник так ніколи не буде ходити, а візьме замість трьох сірників дві, що призведе до нашого програшу. Щоб оцінити доцільність того чи іншого ходу, привласнимо нашій перемозі значення 1, а перемогу супротивника - значення 0. У такому випадку наша стратегія полягає в тому, щоб максимізувати результат, а стратегія супротивника - його мінімізувати. Назвемо для ясності супротивника - МІН, а себе - МАКС. Спускаючись по дереву рішень, ми можемо дати оцінку кожному вузлу на самому нижньому рівні (показаний фрагмент дерева).
Рисунок 13.10 – Дерево рішень
Виграш Макс (1) показаний світлої заливкою, виграш МІНА (0) - темною. Припускаючи, що обидва гравці діють у своїх інтересах розумно, ми можемо дати оцінку кожному ходу гравців на кожен рівень вище, а саме: з усіх варіантів ходів МІН віддасть перевагу ті, які дадуть оцінку 0, а МАКС - ходи, що дають оцінку 1. Таким чином, оцінка кожного ходу Максим буде дорівнює мінімуму оцінок ходів у відповідь МІНА і навпаки, оцінка кожного ходу МІНА буде дорівнює максимуму оцінок ходів у відповідь Максим.
Рисунок 13.11 – Дерево рішень
Даний алгоритм отримав назву алгоритм минимакса або мінімаксний алгоритм. Легко бачити, що оцінки по Мінімакс є песимістичними для кожного з гравців і, отже, гарантують успішний результат. У загальному випадку мінімаксний алгоритм складається з наступних кроків: 1. Вибір шкали оцінок результатів гри. 2. Спуск по дереву і привласнення оцінок кінцевим станам. 3. Послідовне привласнення оцінок батьківським вузлам: для МІНА - максимальної з дочірніх, для Максим - мінімальної. 4. Після присвоєння значення початкової позиції можна починати робити ходи. Очевидним недоліком мінімаксного алгоритму є його трудомісткість, оскільки необхідно виконати обхід усього дерева.
13.5 Шахові програми Алгоритм минимакса навіть при використанні альфа-бета відсікання все ж вимагає спуску до термінального стану по багатьом галузям, отже, його застосовність сильно обмежена. Іншими словами, на практиці він не використовується, за винятком зовсім простих випадків. Більш практичним є застосування евристичних оцінок кожної позиції без спуску до нижніх листів дерева. Такий підхід використовується, наприклад, в шахових програмах, де шахістами давно відпрацьована методика оцінки як окремих фігур, так і позицій в цілому. Так, пішак має вартість 1, кінь чи слон - 3, тура - 5, ферзь - 9. Оцінюються також такі характеристики, як безпека короля, хороша пешечная структура і т.д. Таким чином, кожен хід може бути відразу оцінений. Це не означає, що можна обмежитися глибиною пошуку в один хід. Хороша позиція може бути досягнута через 5 або 8 ходів. Модифікація альфа-бета відсікання в цьому випадку полягає в тому, щоб обмежити верхнє значення оцінки альфа (за принципом «від добра добра не шукають») і нижнє значення бета (мінімально допустиме тимчасове погіршення позиції). Тут все ж завжди є ризик пропустити відмінний хід або навпаки, «позіхнути». Більш надійний підхід полягає у використанні раніше розглянутого ітеративного поглиблення в межах відведеного часу. У цьому випадку в будь-який момент часу є все більш досконале рішення, але вибір точки останову лежить поза програми, що не можна визнати задовільним. Машина буде однаково довго думати над простими та складними ходами. Одне з рішень, зване пошуком спокійних позицій, полягає в тому, що зупиняти пошук можна тільки в спокійних позиціях, коли від ходу до ходу оцінка позиції змінюється незначно. У позиціях ж, істотно мінливих (наприклад, прохід пішака у ферзі), пошук треба продовжувати. При пошуку спокійних позицій виникає проблема усунення ефекту горизонту, який проявляється тоді, коли в перспективі мається хід, заподіює нам серйозний збиток, який ми можемо тільки відстрочити своїми ходами, але є неминучим. Наші ходи, відволікаючі противника (наприклад, оголошення серії шахів), можуть вивести небезпечний для нас хід за межі горизонту пошуку. Перша шахова програма була розроблена в 1951 році Аланом Тьюрінгом. Ця програма практично не експлуатувалася, а її алгоритм перевірявся шляхом моделювання вручну. Першою успішною вітчизняної програмою стала Kaissa, розроблена в 1974 році в Інституті теоретичної та експериментальної фізики під керівництвом екс-чемпіона світу М.Ботвінніка. Це програма перемогла на першому чемпіонаті світу з комп'ютерних шахів в Стокгольмі. Найкращою шаховою програмою, яка перемогла Гаррі Каспарова в 1997 році, є Deep Blue, створена в компанії IBM. Програма працювала на паралельному комп'ютері з 30 процесорами IBM RS/6000. На цьому комп'ютері експлуатувалися кошти «програмного пошуку» і 480 спеціалізованих НВІС шахових процесорів, що виробляють ходи. На цьому комп'ютері програма Deep Blue в середньому здійснювала пошук 126000000 вузлів в секунду, а пікова швидкість складала 330 мільйонів. На кожен хід програма формувала до 30 мільярдів позицій, досягаючи глибини пошуку 14. Основою програми є звичайний альфа-бета пошук з ітеративним поглибленням, але ключовою особливістю програми є здатність поглиблювати пошук у цікавих позиціях до 40 ходів. Крім звичайного пошуку програма використовувала довідник дебютів з 4000 позицій, велику базу ендшпіль і базу з 700 000 ігор гросмейстерів. Тільки така добавка до програми дозволила зрівняти її з чемпіоном світу, який також володіє такими знаннями і використовує шаблонні рішення. Група розробників Deep Blue відмовилася від запропонованого Каспаровим реваншу. Замість цього на змаганнях в 2002 році проти Володимира Крамника виступила програма Deep Fritz, вже на звичайному персональному комп'ютері. Deep Fritz - це розробка Франса Морхен (Голландія) і Матіаса Фієста (Німеччина). У цій програмі застосована техніка нульового ходу (null move), що полягає в тому, що в ході пошуку гравцеві дозволяється зробити два ходи підряд (інший гравець пропускає хід). Завдяки цьому легше виявляються слабкі ходи. Матч з восьми ігор проти Deep Fritz закінчився нічиєю, що дозволило Крамнику заявити: «Тепер очевидно, що ця найкраща шахова програма і чемпіон світу грають на рівних». Читайте також:
|
|||||||||||||||||||||||||
|