Появление |
|
Вернутся на главную страницу | Конец |
Развитие шахматного программирования как часть искусственного интеллекта началось с одной проблемы, которая сегодня исчезла, и уже никто ею даже не интересуется, а окончилось другой проблемой, которая, по-моему, становится все более и более актуальной. Первая проблема – само предназначение вычислительных машин. Компьютер – сейчас это уже русское слово, тоже от слова "вычислять", по-русски "электронные вычислительные машины" были как-то в оппозиции аналоговым вычислительным машинам, которые тогда были. И вот сама идея, что эти машины можно использовать не только для расчетов, а и для информационных задач, была, как это ни смешно сказать (т. к. год ее рождения 1948-й), серьезной проблемой. И Клод Шеннон, один из родоначальников информатики, пытался доказать, что машина, обладающая огромной вычислительной мощностью, на самом деле предназначена для информационных задач, а не для вычислений. В качестве примера такой информационной задачи он объявил шахматную программу. Он сказал, что компьютеры могут играть в шахматы, а уж эта задача никак не вычислительная. Он ввел термин "символическое программирование" в отличие от "численного программирования" (термин не прижившийся). Эта борьба продолжалась очень недолго, но что оказалось удивительным: первая вычислительная машина, созданная на белом свете, была информационной. Она была очень засекречена, сейчас о ней стало известно, она была создана Аланом Тьюрингом, британской разведкой, для расшифровки немецких сообщений, называлась "Энигмой". Сейчас об этом пишут романы. Она была рассекречена только в 88-м году, а до этого об ее существовании никто не знал. Приходилось доказывать, что машины могут выполнять чисто информационные алгоритмы, искать решения и т. д. Вторым человеком, сказавшим о шахматных программах как о примере, был тот же самый Алан Тьюринг. Загорая с Джоном МакКарти на пляже в Сан-Диего, они решили, что вообще машины могут решать задачи, которые принято считать интеллектуальными. И тогда они придумали сам термин "искусственный интеллект" на этом пляже. Тогда же возник и тест Тьюринга, который сейчас проходят в школах. И тогда же Алан Тьюринг набросал первый алгоритм шахматной программы, который не был никогда реализован как программа, но был реализован как алгоритм. В 1958 г. донеслись слухи о создании первой, по-настоящему играющей шахматной программы. Владимир Львович Арлазаров сделал эту шахматную программу. Интересно, что первые центры развития шахматных программ, как нарочно, совпадают с центрами развития атомного оружия. В Москве это был Институт теоретической и экспериментальной физики, в Америке – Лос-Аламосская лаборатория, в Англии это была лаборатория Резерфорда. И понятно – почему. Потому что в то время, в начале 50-х годов, всю лучшую вычислительную технику отдавали физикам-ядерщикам. Поскольку оставалось время от основных занятий на машине, в свободное время они развлекались интересными вещами. А что может быть интереснее, чем игровые программы? И поэтому, несмотря на начальство, прикрываясь крупными авторитетами, были сделаны такие первые шахматные программы. В 1967 г. состоялся первый матч шахматных программ, первые соревнования шахматных программ. И с того момента начался самый длительный в истории кибернетики научный эксперимент. Сначала ежегодные турниры, североамериканские турниры, потом раз в три года – чемпионат мира среди шахматных программ. А в 1967 г. был матч по переписке между Стенфордским университетом, где тот же самый Джон МакКарти, отец искусственного интеллекта, автор языка Лисп, прикрывал молодого своего аспиранта Котка (Kotok), который сделал тамошнюю первую шахматную программу, с нашей стороны Институтом теоретической и экспериментальной физики, где первый советский программист Александр Семенович Кронрод, прикрывал своим авторитетом программы тогда еще очень молодых разработчиков Арлазарова, Ускова, Животовского, Битмана. И можете себе представить начальника почтового отделения рядом с ИТЭФом, который должен был отправлять в Америку телеграммы, где были сложные нотации шахматных ходов. Тем, кто тогда решился это представить, за это могли дать 25 лет без права переписки. Тем не менее, это происходило. И в этот момент началась работа над очень интересной проблемой, которая и сегодня одна из самых главных проблем. Давайте посмотрим сначала на место шахмат в искусственном интеллекте. Почему они имели к нему отношение? Сейчас это уже не так очевидно. Искусственный интеллект, грубо говоря, разбивается на две задачи. Одна задача – это представление знаний. Как можно в компьютер ввести знания и как ими пользоваться для решения задач. А вторая часть – это принятие решения, поиск решения. Это немножко условное деление, потому что при поиске решения необходимо использовать где-то знания, в поиске решения оформлять накопленный опыт для поиска путей ускорения этого решения. Точно так же для того, чтобы найти в больших объемах знаний необходимые – это та же задача, надо использовать некоторые методы принятия решений. Но тем не менее шахматы оказались кристально ясной задачей, потому что правила игры просты и понятны. Т. е. область знаний там была тривиальна. Зато алгоритмы поиска решений очень сложны. На них и нужно было сфокусироваться. Но оказалось, что алгоритмы поиска решений в виде перебора с сокращением начали развиваться очень бурно и оказали большое влияние на развитие искусственного интеллекта. Между прочим, первые книги об искусственном интеллекте так и называются "Искусственный интеллект и поиск решений". И тут возникла чисто философская проблема. Вот играет машина в шахматы. Уже в 1975 г. она играла на уровне 2-го разряда. Сегодня, как известно, она играет на уровне Каспарова. Хорошо это или плохо? Казалось бы, хорошо, она решает поставленные задачи, прекрасно решает. Но нет! Есть у людей в отношении к искусственному интеллекту два течения. Одни говорят: "Мы должны хорошо решать сложные задачи", это так называемые прагматики. Неважно, кто лучше, кто хуже, это неинтересный вопрос. Интересна сама постановка задачи. Вторые говорят: "Нет, это неправильно, потому что человек думает по-другому. Мы должны в первую очередь сначала различить, как думает человек, а потом найти алгоритмы. И когда мы их включим, то построим настоящую программу "грамотного" искусственного интеллекта". Покойный Михаил Моисеевич Ботвинник, один из тех, кто внес заметный вклад в шахматное программирование (хотя, что это странно, он, конечно, не имел ни малейшего отношения к программированию). Вот он был ярким представителем такого теоретического крыла людей, которые говорили, что программа должна играть, как шахматный мастер... Он говорил: "Я знаю... я шахматный мастер... я знаю, как она должна играть. Вот, я буду делать такую программу". Кстати, он все-таки, чтобы получить конкретные результаты, мягко сдрейфовал в сторону прагматиков. Потому что, конечно, то, как компьютеры играют в шахматы, никакого отношения к тому, как человек это делает, не имеет и иметь, по моему мнению не может. Там возникают другие способы представления знаний, другие способы поиска решений, и все это интересно. Вот этот конфликт существует, он реален. И неизвестно, чем он кончится, как и когда, но очень интересно обратить внимание на его существование. |
|
Начало |
Вернутся на главную страницу |