Навчальний проект - штучний інтелект. Розвиток штучного інтелекту у шахових програмах Візитна картка проекту

Гришанін Є.А. Дурін С.В. 1. Що таке штучний інтелект? 2. Про основи знань. 3. Тестові завдання. Штучний інтелект. У 60-х роках XX століття з'явився новий розділ інформатики, який отримав назву «Штучний інтелект». В енциклопедичному словнику написано: «Інтелект (від латів. intellectus – пізнання, розуміння, розум) – здатність мислення, раціонального пізнання». Повною мірою ця здатність властива лише людям. Предметом вивчення науки «Штучний інтелект» є людське мислення. Вчені шукають у відповідь питання: як людина мислить? Ціль цих досліджень полягає в тому, щоб створити модель людського інтелекту і реалізувати її на комп'ютері. Дещо спрощено, вищеназвана мета звучить так: - Навчити машину мислити. Приступаючи до вирішення якоїсь проблеми, людина часто не має чіткої програми дій. Цю програму він будує сам під час роботи. Наприклад, при грі в шахи шахіст знає правила гри, має на меті виграти партію. Його дії не запрограмовані наперед. Вони залежать від дій суперника, від позиції на дошці, від кмітливості і особистого досвіду шахіста. Існує багато інших видів людської діяльності, які не можна запрограмувати заздалегідь. Наприклад, твір музики та віршів, доказ теореми, літературний переклад з іноземної мови, діагностика та лікування хвороб та багато іншого. Вам добре відомо, що будь-яку роботу комп'ютер виконує за програмою. Програми пишуть люди, а комп'ютер формально виконує їх. Розробники систем штучного інтелекту якраз і намагаються навчити машину, подібно до людини, самостійно будувати програму своїх дій, виходячи з умови завдання. Можна сказати так: ставиться мета перетворення комп'ютера з формального виконавця в інтелектуального виконавця. Формальний виконавець дані програма Виконання програми результати Інтелектуальний виконавець дані Побудова програми Виконання програми результати Модель функціонування формального та інтелектуального виконавця Будь-яка система штучного інтелекту працює в рамках якоїсь певної предметної галузі (медична діагностика, законодавство, математика, економіка та ін.). Подібно до фахівця, комп'ютер повинен мати знання в даній галузі. Знання у конкретній предметної області, певним чином формалізовані і закладені на згадку про ЕОМ, називаються комп'ютерної базою знань. Наприклад, ви хочете застосувати комп'ютер для вирішення задач з геометрії. Якщо задачнику є 500 завдань різного змісту, то за традиційному використанні комп'ютера доведеться написати 500 програм. Якщо ж за цю проблему візьметься фахівець зі штучного інтелекту, він підійде до неї зовсім інакше. Він закладе в комп'ютер знання геометрії (як закладають у вас знання вчителя). На основі цих знань та за допомогою спеціального алгоритму логічних міркувань комп'ютер вирішить будь-яке з 500 завдань. Для цього достатньо повідомити йому лише умову завдання. Системи штучного інтелекту працюють з урахуванням закладених у яких баз знань. Кожен школяр знає, що для вирішення будь-якого завдання мало пам'ятати правила, закони, формули, але ще треба вміти мислити, міркувати, застосовувати ці знання. Людське мислення засноване на двох складових: запасі знань та здатності до логічних міркувань Звідси випливають дві основні завдання при створенні інтелектуальних систем на комп'ютері: - моделювання знань (розробка методів формалізації знань для введення їх у комп'ютерну пам'ять як базу знань); - моделювання міркувань (створення комп'ютерних програм, що імітують логіку людського мислення під час вирішення різноманітних завдань). Одним із видів систем штучного інтелекту є експертні системи. Зазвичай словом «експерт» називають людину, яка володіє великими знаннями та досвідом у певній галузі. У комп'ютерні експертні системи закладаються знання такого рівня. Призначення експертних систем – консультації користувача, допомога у прийнятті рішень. Особливо важливою стає така допомога екстремальних ситуаціях, наприклад в умовах технічної аварії, екстреної операції, при керуванні транспортними засобами . Комп'ютер не схильний до стресів. Він швидко знайде оптимальне, безпечне рішення та запропонує його людині. Проте остаточне рішення ухвалює людина. Коротко про головне Штучний інтелект (ІІ) – це розділ інформатики. Предмет вивчення ІІ – людське мислення; ціль - створення інтелектуальних систем на комп'ютері. Приклади областей, у яких створюються системи штучного інтелекту: шахи та інші ігри, твір віршів та музики, переклад текстів з однієї мови на іншу, робототехніка, криміналістика (ідентифікація відбитків пальців та ін.), медична діагностика. Системи штучного інтелекту працюють на основі закладених у них знань у певній галузі. Модель знань, закладена на згадку про ЕОМ, називається комп'ютерної базою знань. Людське мислення ґрунтується на двох складових: запасі знань та здатності до логічних міркувань. У системах ІІ реалізовано модель міркувань (людської логіки). На основі бази знань та моделі міркувань система ІІ сама програмує свою роботу при вирішенні будь-якого завдання. Експертна система - це система ІІ, що містить у собі знання та досвід спеціаліста-експерта в даній предметній галузі. Ось склад бази знань «Родичі»: Факти: Лев – батько Андрія; Лев – батько Петра; Андрій – батько Олексія; Петро – батько Михайла; Петро – батько Дмитра. Правила: кожен чоловік – син свого батька; дідусь – батько батька; брати – сини одного батька; дядько – брат батька; племінник – син брата; онук – син сина. Виходячи з даних фактів та правил, можна шляхом логічних міркувань встановити всі види родинних зв'язків між чоловіками цієї сім'ї. Зверніть увагу на дві особливості бази знань: - факти мають приватний характер, а правила - загальний (справедливі для будь-якої сім'ї); - у БЗ включені лише основні факти. Справді, достатньо знати, хто кому доводиться батьком, аби, використовуючи правила, визначити інші родинні зв'язки. На основі подібної бази знань можна побудувати експертну систему у галузі споріднених відносин між чоловіками. Щоб використати її стосовно іншої сім'ї, достатньо замінити список фактів, а правила, природно, залишаться незмінними. Порівнюючи БД із БЗ приходимо до висновку: база даних містить лише факти, база знань - факти та правила. Про бази знань. Ви вже знайомі з поняттям «база даних». База даних (БД) – це інформаційна модель деякої реальної системи у пам'яті комп'ютера. Вище було сказано, що база знань (БЗ) – це модель знань людини у певній предметній галузі. Покажемо різницю між БД та БЗ на конкретному прикладі. Розглянемо це питання з прикладу родинних зв'язків між чоловіками однієї сім'ї. Тут лінії позначають зв'язок між батьком (на верхньому рівні) і сином (на нижньому рівні). Родинні зв'язки Чоловік Лев Сини Батько Дідусь Брати Дядьки Племінники Не знаю Не знаю Внуки Андрій, Петро Не знаю Не знаю Не знаю Андрій Олексій Лев Не знаю Петро Не знаю Михайло Дмитро немає Петро Михайло, Дмитро Лев Не знаю Андрій Не знаю Олексій немає Андрій Лев немає ні Михайло Ні Петро Лев Дмитро Андрій немає ні Дмитро Ні Петро Лев Михайло немає ні Петро Андрій Олексій Михайло Дмитро У таблиці 9.1 інформація про родинні зв'язки між цими ж чоловіками представлена ​​в розгорнутому вигляді. Використовуючи СУБД реляційного типу, на основі цієї таблиці неважко створити реляційну базу даних. Звертаючись до неї із запитами, можна визначити, хто кому доводиться батьком, дідусем, братом. Ця таблиця є інформаційною моделлю об'єкта «родина». Тепер перейдемо до побудови бази знань. Предметною областю тут є родинні зв'язки між чоловіками однієї сім'ї. У штучному інтелекті є різні види моделей знань. Ми розглянемо лише один із них, який називається логічною моделлю знань. Цей підхід використовується в системі програмування ПРОЛОГ (про Пролог розповідається у другій частині книги). Відповідно до логічної моделі, база знань складається з фактів та правил. А тепер дамо загальне визначення поняттям «факт» та «правило». Факт - це повідомлення (інформація) про конкретну подію, про властивість конкретного об'єкта, його зв'язки з іншими об'єктами. Наприклад, фактами є такі твердження: - Сосна - хвойне дерево; - Колумб відкрив Америку у 1492 році; - Щільність води дорівнює 1 г/см; - цар Соломон – син царя Давида; - Лев Толстой – російський письменник. Правило - це твердження, що має більшу спільність, ніж факт. Правила визначають одні поняття через інші, встановлюють взаємозв'язок між різними властивостями об'єктів, формулюють закони природи чи суспільства. База знань - це сукупність основних фактів і правил певної предметної області. З недавніх пір з'явилася нова спеціальність «інженер зі знань», завдання якого – формалізація знань, розробка баз знань та створення на їх основі систем штучного інтелекту. Розглянутий нами приклад дуже простий. Тут неважко здогадатися, які факти є основними, і сформулювати повний набір правил. У складніших предметних областях це завдання набагато складніше. Часто вирішити її під силу виявляється лише великому спеціалісту (експерту) або колективу фахівців, які мають великі знання в даній галузі. Коротко про головне. Логічна модель знань у певній предметної області є базою знань, що складається з фактів та правил. Факт - це інформація про конкретну подію, про властивість конкретного об'єкта, його зв'язки з іншими об'єктами. Правила визначають одні поняття через інші, встановлюють взаємозв'язок між різними властивостями об'єктів, формулюють закони природи чи суспільства. База знань включає в себе лише основні факти для даної предметної області. A. У 50-х роках B. У 60-х роках C. У 70-х роках D. У 80-х роках Правильно Далі Подумай Далі Що таке база знань А. База знань- це інформація про конкретну подію, Властивості конкретного об'єкта, про його зв'язок з іншими об'єктами В. База знань - це сукупність основних фактів і правил у певній предметній області С. База знань - це D. База знань - розробка твердження, що володіє більшою спільністю, ніж фактів. для введення їх у комп'ютерну пам'ять як базу знань А. Створення комп'ютерних програм, В. Розробка методів, що імітують логіку людського мислення при вирішенні різноманітних завдань, формалізації знань для введення їх у комп'ютерну ю паяти як основу знань. Це модель знань людини в D. Це алгоритм певної предметної області. записаний мовою виконавця. Що таке факт? А. Будь-який об'єкт, що складається з B. Ця інформація про склад і С. Повідомлення про конкретний D. Це певний порядок безлічі взаємопов'язаних частин та структури системи, представлена ​​в графічній існуючі як єдине ціле. формі. події та властивості конкретного об'єкта, його зв'язки з іншими об'єктами. об'єднання елементів, що становлять систему.

Розглянемо деякі базові концепції, які допоможуть нам створити простий штучний інтелект, що вміє грати у шахи:

  • переміщення;
  • оцінка шахівниці;
  • мінімакс;
  • альфа-бета-відсікання.

На кожному кроці ми покращуватимемо наш алгоритм за допомогою одного з цих перевірених часом методів шахового програмування. Ви побачите, як кожен із них впливає на стиль гри алгоритму.

Готовий алгоритм можна знайти на GitHub.

Крок 1. Генерація ходів та візуалізація шахівниці

Ми будемо використовувати бібліотеки chess.js для створення ходів і chessboard.js для візуалізації дошки. Бібліотека для створення ходів реалізує всі правила шахів. Виходячи з цього, ми можемо розрахувати всі ходи даного стану дошки.

Візуалізація функції створення руху. Вихідне положення використовується як вхід, а на виході – всі можливі ходи з цієї позиції.

Використання цих бібліотек допоможе нам зосередитись лише на найцікавішому завданні – створенні алгоритму, який знаходить найкращий хід. Ми почнемо з написання функції, яка повертає випадковий хід із усіх можливих ходів:

Var calculateBestMove = function(game) ( //Генерація всіх ходів для даної позиції var newGameMoves = game.ugly_moves(); return newGameMoves; );

Хоча цей алгоритм не дуже солідний шахіст, але це хороша відправна точка, оскільки його рівня достатньо, щоб зіграти з нами:

Чорні грають випадковими ходами

JSFiddle.

Крок 2. Оцінка дошки

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

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

Var calculateBestMove = function (game) ( var newGameMoves = game.ugly_moves(); var bestMove = null; //Використовуйте будь-яке негативне число var bestValue = -9999; for (var i = 0; i< newGameMoves.length; i++) { var newGameMove = newGameMoves[i]; game.ugly_move(newGameMove); //Возьмите отрицательное число, поскольку ИИ играет черными var boardValue = -evaluateBoard(game.board()) game.undo(); if (boardValue >bestValue) ( ​​bestValue = boardValue; bestMove = newGameMove ) ) return bestMove; );

Єдиним відчутним покращенням є те, що тепер наш алгоритм з'їсть фігуру, якщо це можливо:

Чорні грають за допомогою простої функції оцінки

Подивитися, що вийшло на цьому етапі, ви можете на JSFiddle .

Крок 3. Дерево пошуку та мінімакс

Потім ми створимо дерево пошуку, з якого алгоритм може вибрати найкращий хід. Це робиться за допомогою алгоритму "мінімакс".

Прим. перев. В одній із наших статей ми вже мали справу з - вчилися створювати ІІ, який неможливо обіграти в хрестики-нуліки.

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

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

Візуалізація мінімаксу у штучному положенні. Найкращий хід для білих - b2-c3, так ми можемо гарантувати, що дістанемося до позиції, де оцінка дорівнює -50

Var minimax = function (depth, game, isMaximisingPlayer) ( if (depth === 0) ( return -evaluateBoard(game.board()); ) var newGameMoves = game.ugly_moves(); if (isMaximisingPlayer) ( var bestMove = -9999;for (var i = 0; i< newGameMoves.length; i++) { game.ugly_move(newGameMoves[i]); bestMove = Math.max(bestMove, minimax(depth - 1, game, !isMaximisingPlayer)); game.undo(); } return bestMove; } else { var bestMove = 9999; for (var i = 0; i < newGameMoves.length; i++) { game.ugly_move(newGameMoves[i]); bestMove = Math.min(bestMove, minimax(depth - 1, game, !isMaximisingPlayer)); game.undo(); } return bestMove; } };

З мінімаксом наш алгоритм починає розуміти основну тактику шахів:

Мінімакс з рівнем глибини 2

Подивитися, що вийшло на цьому етапі, ви можете на JSFiddle .

Ефективність мінімаксу значною мірою залежить від глибини пошуку. Саме це ми покращимо на наступному кроці.

Крок 4. Альфа-бета-відсікання

Позиції, які нам не потрібні, якщо використовується альфа-бета-відсікання. Дерево буває в описаному порядку.

З альфа-бета-відсіканням ми отримуємо значне поліпшення мінімаксу, як показано в наступному прикладі:

Кількість позицій, які потрібно оцінити у разі пошуку з глибиною 4 та початковою позицією, зображеною на картинці.

Подивитися, що вийшло на цьому етапі, ви можете на JSFiddle .

Крок 5. Поліпшена функція оцінки

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

Фото з відкритих джерел

Новий штучний інтелект лише за 4 години навчання став найкращим шахістом на Землі! (сайт)

А пам'ятайте, який фурор наробив 1996 року шаховий суперкомп'ютер «Deep Blue», вигравши першу партію у російського чемпіона Гаррі Каспарова? Незважаючи на те, що наш співвітчизник все ж таки здобув перемогу в цій грі, вже тоді стало зрозуміло, що штучний інтелект стрімко прогресує і колись привабливо стане найкращим шахістом, після чого людям марно грати з програмою. Залишалося лише питання, коли це станеться.

Представники відомої корпорації «Google» заявили, що цей час нарешті настав. За словами фахівців, розроблена ними нейромережа «AlphaZero» всього за 4 години самонавчання перетворилася на найвіртуознішого і найбездоганнішого шахового гравця за всю історію цієї гри. Надпотужний штучний інтелект навчався грі в шахи, знаючи лише її правила. Погравши 4 години з самим собою, робот навчився ідеально грати, легко перемігши шахівницю «Stockfish», що вважалася до цього найдосконалішою. Комп'ютери провели 100 партій - «AlphaZero» вдалося виграти 28 з них і звести 72, що внічию залишилися. Передова нейромережа, що імітує роботу людського мозку, здатна ризикувати і навіть використовувати своєрідну подобу інтуїції.

Мріяти про перемогу над штучним інтелектом не доводиться.

Більш ранні моделі "AlphaZero" навчалися грі, стежачи за живими шахістами. Розробники припускали, що це допоможе штучному інтелекту краще зрозуміти стратегію гри. Насправді виявилося, що спостереження за людьми лише уповільнює розвиток програми. Коли нейромережа надали собі, її здібності злетіли до небес. Тепер інженери Google думають над тим, як застосувати подібні технології для реальної користі людству, оскільки шахова гра, навіть сама віртуозна, не має прикладної мети.

У 1968 році відомий Девід Леві уклав, що протягом найближчого десятиліття його не обіграє жодна програма. Весь цей час гросмейстер постійно змагався з різноманітними шаховими комп'ютерами і щоразу вигравав у них. У 1978 році він здобув перемогу над найсильнішою на той час програмою "Chess 4.7", вигравши парі. На жаль, у наші дні настільки цікавих поєдинків вже не буде - нам належить тепер дізнаватися тільки про те, як одна фантастична нейромережа перемогла іншу. Живі шахісти про перемогу над такими монстрами не можуть навіть мріяти. І це лише початок подібних перемог ІІ над людиною.




Предмет досліджень та мета розробок Предметом вивчення науки «штучний інтелект» є людське мислення. Вчені шукають у відповідь питання: як людина мислить? Ціль цих досліджень полягає в тому, щоб створити модель людського інтелекту і реалізувати її на комп'ютері. Предметом вивчення науки «штучний інтелект» є людське мислення. Вчені шукають у відповідь питання: як людина мислить? Ціль цих досліджень полягає в тому, щоб створити модель людського інтелекту і реалізувати її на комп'ютері.


Існує багато інших видів людської діяльності, які не можна запрограмувати заздалегідь. Наприклад: шахи та інші ігри, твір віршів та музики, переклад текстів з однієї мови на іншу, робототехніка, криміналістика (ідентифікація відбитків пальців), медична діагностика. Існує багато інших видів людської діяльності, які не можна запрограмувати заздалегідь. Наприклад: шахи та інші ігри, твір віршів та музики, переклад текстів з однієї мови на іншу, робототехніка, криміналістика (ідентифікація відбитків пальців), медична діагностика.


Неформальний виконавець Розробники систем штучного інтелекту якраз і намагаються навчити машину, подібно до людини, самостійно будувати програму своїх дій, виходячи з умови завдання. Можна сказати так: ставиться мета перетворення комп'ютера з формального виконавця в інтелектуального виконавця. Розробники систем штучного інтелекту якраз і намагаються навчити машину, подібно до людини, самостійно будувати програму своїх дій, виходячи з умови завдання. Можна сказати так: ставиться мета перетворення комп'ютера з формального виконавця в інтелектуального виконавця.








Моделювання Дві основні завдання при створенні інтелектуальних систем на комп'ютері: Дві основні завдання при створенні інтелектуальних систем на комп'ютері: -моделювання знань (розробка методів формалізації знань для введення їх у комп'ютерну пам'ять як базу знань); -моделювання знань (розробка методів формалізації знань для введення в комп'ютерну пам'ять як основу знаний); -моделювання міркувань (створення комп'ютерних програм, що імітують логіку людського мислення під час вирішення різноманітних завдань). -моделювання міркувань (створення комп'ютерних програм, що імітують логіку людського мислення під час вирішення різноманітних завдань).


Експертні системи Одним із видів систем штучного інтелекту є Експертні системи. Одним із видів систем штучного інтелекту є Експертні системи. Призначення експертних систем – консультації користувача, допомога у прийнятті рішень. Призначення експертних систем – консультації користувача, допомога у прийнятті рішень.

1997, Нью-Йорк. Чемпіон світу з шахів Гарі Каспаров програє комп'ютеру «Deep Blue» фірми IBM, і цей бій стає найбільшою шахівницею всіх часів і народів. Про цю гру будуть говорити як про «останню битву людського розуму», багато хто порівнюватиме її з першим польотом братів Райт і висадкою астронавтів на Місяць.

20 липня – у міжнародний день шахів – розповімо вам про те, що було далі. А також про те, в чому штучний інтелект поступається людському, і тут Алан Т'юрінг. Слово Гаррі Каспарову, чемпіону світу з шахів та автору книги.

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

У шахах, як і в багатьох інших сферах діяльності, машини сильні в тому, що слабкі люди, і навпаки.

Цей відомий принцип у галузі штучного інтелекту та робототехніки сформулював у році Ханс Моравек, який зазначив, що «щодо просто домогтися того, щоб комп'ютери виконували тест розумового розвиткуабо грали в шашки на рівні дорослої людини, проте складно чи неможливо прищепити їм навички однорічної дитини в тому, що стосується сприйняття чи мобільності».

На той час я не був у курсі цих теорій; до того ж Моравек говорив про шашки, а не про шахів, але через десять років стало очевидно, що цей принцип поширюється навіть на мою сферу діяльності. Гросмейстери чудово справлялися з оцінкою позиції та стратегічним плануванням — слабкими місцями шахових комп'ютерів, зате ті могли за секунди прорахувати тактичні наслідки, на що навіть найкращим людським умам знадобилося б багато днів.

Це подало мені ідею. Після того, як мої матчі з Deep Blue привернули таку пильну увагу, я хотів продовжувати шахові експерименти, незважаючи на те, що IBM від них відмовилася.

Мій план, просто кажучи, був таким: якщо ви не можете їх перемогти, приєднайтеся до них.

Я подумав: що якщо людина та машина будуть не противниками, а партнерами? Задум втілився в році в іспанському Леоні, де відбувся перший матч з просунутих шахів (advanced chess). Обидва партнери мали під рукою персональний комп'ютер і могли використовувати під час партії будь-яку програму на свій вибір. Ціль полягала в тому, щоб вийти на новий, найвищий рівеньігри - завдяки синтезу найсильніших сторін людського та машинного інтелекту. Хоча, як ми побачимо далі, не все пройшло так, як замислювалося, разючі результати цих «битв кентаврів» переконали мене в тому, що шахи, як і раніше, можуть запропонувати дуже багато в такій галузі, як взаємодія людського розуму та штучного інтелекту.

До цього переконання я дійшов далеко не першим. Шахові машини були святим Граалем задовго до того, як люди навчилися створювати їх. І ось наука нарешті отримала доступ до цієї чаші — а я виявився людиною, яка тримає її в руках. Переді мною стояв вибір: відхилити дзвінок або прийняти його. Як я міг устояти? Це був шанс ще більше підняти популярність шахів та розширити аудиторію, завойовану ними після знаменитого матчу між Боббі Фішером та Борисом Спаським у часи холодної війни та після моїх поєдинків за світову корону з Анатолієм Карповим. Це дозволило б залучити у світ шахів армію щедрих спонсорів, особливо у складі високотехнологічних компаній. Так, корпорація Intel у середині 1990-х років спонсорувала цілу серію турнірів з швидких та класичних шахів та повний цикл чемпіонату світу, включаючи мій титульний матч з Вішванатаном Анандом, що проходив на верхньому поверсі Світового торгового центру. До того ж мною керувала непереборна цікавість. Невже машини справді можуть навчитися грати у шахи так само добре, як чемпіон світу? Невже вони справді здатні мислити?

Цікаво, що
перша шахівниця з'явилася раніше, ніж перший комп'ютер.

Її розробив геніальний британський математик Алан Т'юрінг, який зламав код нацистської шифрувальної машини «Енігма». В 1952 він написав на папері алгоритм, за допомогою якого машина могла б грати в шахи, - тільки в ролі центрального процесора виступав сам математик. «Паперова машина Т'юрінга» виявилася цілком компетентним гравцем. Причина її конструювання виходила за межі особистого інтересу Тьюринга до шахів. Уміння грати в шахи здавна вважалося частиною людського інтелекту, і створення пристрою, здатного перемогти людину в цій грі, мало знаменувати появу справді розумної машини.

Ім'я Алана Тьюринга також назавжди пов'язане з назвою запропонованого ним уявного експерименту, пізніше проведеного в реальності і названого «тест Тьюринга». Суть його в тому, щоб визначити, чи зможе комп'ютер обдурити людину таким чином, щоб той думав, що має справу з людиною, і якщо зможе тест вважається пройденим. Ще до мого першого матчу з Deep Blue комп'ютери почали проходити те, що можна назвати «шаховим тестом Тюрінга». Вони, як і раніше, грали досить погано і часто робили явно нелюдські ходи, але іноді їм уже вдавалося розігрувати партії, які б цілком доречно й у пристойному людському турнірі. З кожним роком машини ставали все сильнішими і сильнішими, але в процесі їх еволюції ми дізнавалися більше про самих шахів, ніж про штучний інтелект (ІІ).

Не можна стверджувати, що кульмінація 45-річних пошуків, що стала подією всесвітнього масштабу, обернулася розчаруванням, але вона з усією очевидністю показала, що сконструювати шаховий суперкомп'ютер — зовсім не те саме, що створити штучний інтелект, здатний зрівнятися з людським розумом, про що меч. Т'юрінг та інші.

По суті, розум Deep Blue нічим не відрізнявся від розуму програмованого будильника.

Думка про це тільки посилювала для мене гіркоту поразки — програти будильнику, що програмується, нехай навіть вартістю $10 млн?!

Так звана ІІ-спільнота, безумовно, раділа результату та привабленій увазі, але в той же час вчені були явно збентежені тим фактом, що Deep Blue анітрохи не нагадує штучний інтелект, про який мріяли їхні попередники. Замість того, щоб грати в шахи як людина — демонструючи людську інтуїцію та нестандартне творче мислення, він грає в шахи як машина: оцінює до 200 млн можливих ходів на секунду і перемагає завдяки грубій обчислювальній силі. Зрозуміло, це не применшує самого досягнення. Зрештою, Deep Blue — творіння людського розуму, і програш людини створеній ним машині водночас означає її перемогу.

Після неймовірної напруги того матчу, яке посилювалося підозрілою поведінкою IBM та моєю схильністю до сумнівів, я не був готовий легко визнати свою поразку. Щиро кажучи, я ніколи не вмів програвати. Вважаю, що людина, яка легко упокорюється з поразкою, ніколи не стане справжнім чемпіоном, і цей принцип, звичайно, справедливий і в моєму випадку. Але я вірю у чесну боротьбу. Тоді ж я вважав, що IBM обдурила мене - а також увесь світ, який пильно стежив за нашим матчем.

Маю визнати, що повторний аналіз кожного аспекту того безславного поєдинку з Deep Blue виявився нелегкою справою.

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

Публікацій, присвячених Deep Blue, безліч, але ця книга — перша й єдина, де зібрані всі факти та вся історія розповідається так, як її бачу я. Незважаючи на болючість спогадів, це був повчальний та сприятливий досвід. Мій великий учитель Михайло Ботвинник, шостий чемпіон світу з шахів, вчив мене шукати істину в кожній позиції. І я спробував виконати його завіт і пошукати істину в суті Deep Blue.

Ілюстрація: Shutterstock