Вступление
Прочитав книгу П. Уоллеса "Ложная слепота", я всерьез озадачился поставленным там вопросом. Зачем вообще нужно сознание, если большинство недоступных для компьютера, чисто человеческих потребностей нами же самими для себя и придуманы? И не является ли сознание паразитом на нашем теле, совершенно лишним с точки зрения эволюции? Поскольку после курса философии я как-то свыкся с мыслью, что я - это и есть мое сознание, такой расклад мне не понравился. Я стал думать, действительно ли можно счастливо развиться до уровня разумной жизни и даже выйти в космос, не имея сознания. И пришел к выводу, что нет. Для примера, я сравню, как справляется с задачами разного уровня сложности человек и компьютер. Небольшое лирическое отступление вначале призвано показать, что такая постановка вопроса полностью синонимична той, что была в "Ложной слепоте". Вплоть до того, что, если бы я не читал интервью с автором, сказал бы, что инопланетяне из его книги - это алегория конечного автомата.
Поскольку люди, которые верят в разумность машин, часто приводят в свое оправдание "ну мы же не можем четко определить мышление и интеллект", я сейчас это сделаю. Вернее, дам определения, известные мне из курса философии, со ссылкой на
Юрия Ивановича Семенова, видного мыслителя современности, марксиста.
Ощущение - информация о простейших признаках объекта, которая может быть передана через органы чувств
Восприятие - цельный образ объекта, составленный из ощущений
Представление - вторичный образ объекта, который не может быть непосредственно воспринят.
Понятие - единство существенных свойств, связей и отношений предмета или явления.
Мышление - способность оперировать понятиями вне зависимости от того, может ли быть непосредственно воспринят данный предмет/явление.
Рассудок - способность к мышлению как субъективному процессу.
Разум - способность к мышлению как объективному процессу.
Интересно то, что мышление делится Семеновым на два больших класса, и, соответственно, интеллект состоит из разума и рассудка. Причем разум по Уоллесу - это как раз рассудок по Семенову. Тем, кто хочет более тонко прочувствовать разницу между рассудком и разумом, рекомендую почитать Семенова, поскольку разница есть, понять ее сложно, но к теме данной статьи она имеет мало отношения. Мы не будем углублятся в философию, а остановимся на том, что, согласно данному определению, как минимум рассудком обладают и человек, и компьютер. Но человеческий и компьютерный рассудок очень сильно отличаются друг от друга тем, как именно они оперируют понятиями. Согласно устоявшейся терминологии, мы не будем, все же, проводить грань между разумом и рассудком. В этой статье мы поговорим о том, мыслят ли современные компьютеры так, как мыслят люди, и покажем, в чем преимущества человеческого мышления, на столь приятном лысым обезьянам ((с) трансгуманисты) примере конкурентной борьбы по заданным правилам.
Если что-то выглядит, как утка, и крякает, как утка...
Давайте вспомним, что такое тест Тьюринга. Вкратце, когда только появились электронно-вычислительные машины, британские ученые стали задумываться: если до сих пор показателем ума была, в основном, способность считать в разных ее проявлениях, то что же получается, автомат, который считает быстрее человека, умнее, чем человек? Что же тогда вообще разум? Лично Алан Тьюринг, создатель первой ЭВМ, вполне в духе популярной тогда философии позитивизма, перефразировал известную пословицу про утку. Дескать, нам все-равно, что там внутри. Автомат, проявляющий признаки разума, однозначно наделен разумом. Из популярной тогда "имитационной игры" родился известный тест, согласно которому автомату предлагается, по слизанным с означенной игры правилам, обмануть третейского судью. Если он сможет достаточно убедительно изобразить человеческий мозг в ходе длительной беседы, он разумен.
Да, человек - это не только коммуникационные навыки. Более того, поставленный именно в таком ключе вопрос не имеет практического смысла. Общение - это последнее, чего мы ждем от автомата. Но большую часть интеллектуальной деятельности, гипотетически, можно свести к счету и выбору между несколькими вариантами на основании определенных правил. Компьютер может играть в шахматы или карты, может управлять транспортным средством, даже, наверное, музыку сочинять может. Хорошо, музыка, создаваемая автоматом без всякого участия человека с гитарой (или, как модно говорить у трансгуманистов, лысой обезьяны с барабаном), на сегодняшний день, фантастика, но не такого уж и далекого прицела. А что, уже существуют VST-инструменты, которые синтезируют звук чисто програмными средствами. Причем они не синтезируют отдельные ноты, а используют пресетовые аранжировки. Достаточно выбрать стиль из библиотеки и указать аккорды, чтобы получить качественное звучание. Следующий естественный шаг - написать программу, которая будет перебирать сочетания и отбрасывать плохие, используя для оценки качества набор правил, которые настоящий композитор все-равно должен изучить. Ничего гениального, конечно, не соберется, но довольно неплохой клубняк, не хуже созданного настоящими людьми - почему бы и нет? Было, кстати, у Роальда Даля замечательное произведение "Чудестный автоматический грамматизатор" про автомат, пишуший новеллы. Правда, до большой формы он добрался только под контролем человека. Но это только потому, что рассказ был написан в 1953 году, на заре компьютерной эры. Тенденция такова, что времена Тьюринга позади. Сейчас машина может делать все то же, что и человек, даже до Священной Коровы творческой деятельности скоро доберется. Казалось бы.
... то это есть гламурное кисо перед зеркалом
Ответ тесту Тьюринга - мысленный эксперимент "Китайская комната". Пришельцы у Уоллеса концептуально представляли собой как раз такую "комнату". Перескажу суть эксперимента, которая немногим сложнее сути теста Тьюринга. В лучших традициях имитационной игры, человека, который не знает китайский, сажают в закрытую комнату. В комнате есть окошко, в которое суют бумажки, покрытые непонятными символами, есть табличка с перечислением этих символов, письменные принадлежности и толстая книжка, где на известном герою языке описан набор правил, сочетая символы в соответствии с которыми, он будет выдавать осмысленные ответы. В теории, можно написать эту книгу так хорошо, что, внимательно ее изучив, герой сможет изображать человека, знающего китайский. Чтобы снять стандартное возражение о системе, можно даже допустить, что человек выучил наизусть как книжку, так и табличку. Но имеет ли этот процесс что-то общее с изучением иностранных языков? Нет, и это вам любой с улицы скажет. Благо в наше время считается приличным знать не менее одного иностранного языка.
Китайский учат не для того, чтобы обмануть постороннего наблюдателя, и даже не для того, чтобы бессмысленно болтаться в китайской светской тусовке. Язык учат, чтобы понимать чужие мысли и выражать свои. Процесс обработки и производства мыслей (который, собственно, и определяется как мышление нормальными философами, не позитивистами) в "китайской комнате" отсутствует. Равноценность двух систем во внешних проявлениях еще не означает тождественности между ними. Вообще говоря, оно не означает даже того, что системы работают на одних и тех же принципах. В конце-концов, несложно создать условия, в которых свет лампочки накаливания нельзя будет отличить от света энергосберегающей лампочки.
С точки зрения реально стоящих перед робототехникой задач, тест Тьюринга - это еще и культ карго. Что, кстати, не секрет, и занимаются его прохождением сейчас исключительно для повышения ЧСВ. И, вроде бы, даже написали какую-то программу, которая практически справилась с формальным требованием (там нужно, чтобы автомат был опознан не более чем в 30% случаев). Только создание мыслещей машины по принципу "пусть она ведет себя точно так же, как люди" сродни созданию летающей машины по принципу "пусть она машет крыльями точно так же, как делают это птицы". Как мы знаем, самолеты появились не в результате тупого копирования птиц, но в результате понимания принципов полета. Инженер, который хочет заставить аппарат не просто летать, а летать, как птица, столкнется с технической проблемой выбора двигателя. Птицы не обладают ничем, что хотя-бы отдаленно напоминало ДВС, а мы не обладаем никаким достаточно компактным двигателем, способным обеспечить плавные взмахи крыла. Так и программист, который захочет создать мыслящую машину, столкнется с тем, что наш мозг не является конечным автоматом. Количество нейронов в нем постоянно меняется, а свойства системы задаются связями между ними, которых может быть чуть ли не больше, чем атомов во Вселенной. Компьютер может быть эффективнее человеческого мозга, как самолет эффективнее птицы, но сознания он от этого не обретет.
Последний наш интеллектуальный бастион
Чтобы понять, в чем штука, давайте рассмотрим тот же процесс обучения игры в шахматы. Шахматным программам для ЭВМ примерно столько же лет, сколько и самим ЭВМ. Эта игра, казалось бы, просто создана для конечных автоматов. Партия всегда, так или иначе, заканчивается, вся ситуация на поле известна, игра лишена элемента случайности, ограничена в пространстве и времени доской 8х8 и правилом 50 ходов. То есть, можно построить дерево неповторяющихся шахматных партий, идущее от начальной позиции ко всем завершениям. Все известно, все считается. Неудивительно, что именно шахматы являются наиболее часто встречающейся метафорой интеллекта. Проблема в том, что, когда количество этих партий было подсчитано, оказалось, что их немножко больше, чем атомов во Вселенной. Порядков эдак на сорок. Количество переходит в качество, потому что при таком объеме вычислений задачу в лоб никоим образом не решить.
Двухминутка математики: в моем компьютере процессор имеет частоту 2,1 ГГц. Допустим, адекватное время реакции - сто секунд. Тогда в нашем распоряжении 210 миллиардов тактов. Вроде бы много. Но как бы не так. В каждой позиции, в среднем, 30-60 возможных ходов. Пусть, для удобства вычисления, будет 45, как раз квадратный корень из 2100. Квадратный корень удобен потому, что число возможных комбинаций возрастает экспоненциально. На обсчет каждой позиции тратится куда больше одного такта, пусть будет от ста до тысячи. И получается, что мой процессор едва способен просчитать три полных хода обеих сторон. Можно, конечно, отвести больше времени, или распаралелить вычисления. Но экспоненциальный рост - это вам не хухры-мухры. Увеличивая частоту (или время ожидания) в тысячу раз, мы только и можем, что просчитать очередные два хода. Учитывая среднюю длительность шахматной партии около 40 ходов, читатель может сам оценить масштаб проблемы.
Надо бить по уязвимому месту экспоненты, то есть, по ее показателю. Понятно, что никакой живой шахматист все эти 45 возможных ходов на три вперед не просчитывает. Совсем глупые варианты, вроде слива ферзя, он даже не рассматривает, а острые сюжеты может, наоборот, просчитать куда тщательнее. Но до мата, как правило, просчитываются только матовые комбинации. В остальных случаях, в дело вступает важнейшее умение шахматиста - умение оценивать позицию. Оценивать - значит, вычислять, для чего и создавали вычислительную машину. Пусть можно считать лишь на три хода вперед, оценив финальные позиции, можно выбирать ходы с наибольшим совокупным "весом" конечных ситуаций. Откровенно неудачные варианты можно считать только на два хода, высвобождая тем самым время для просчета вариантов сложных и интересных. Все упирается в грамотное написание алгоритма сравнения позиций, который обычно называют оценочной функцией. Одна проблема: компьютер теплое с мягким сравнивать не умеет. Тут-то всплывает разница между наукой и искусством. Сколько пешек стоят слон, ладья и ферзь, мне рассказали еще на первых занятиях шахматного кружка. Но дальше все вилами по воде писано. Любой шахматист знает о таких вещах, как контроль центра и активное положение фигур. Они критически важны для победы, но как пересчитать их в пешки? Король, ради "убийства" которого все, собственно, затевается, тоже не имеет четко выраженной цены в пешках. Если с матом все понятно, то как научить компьютер, не считающих дальше трех-четырех ходов, распознавать вечный шах? Вот и начинаются трудности с шахматными загадками: "Есть два хода. Ла6 пойдешь, слона выиграешь, Фхс6 пойдешь, позиция лучше станет".
Чукча не стратег, чукча тактик
Проблема как раз в том, что компьютер - "китайская комната". Плюсы: его вычислительная мощь сравнима только с силой воли человека, который в состоянии вызубрить формальные правила составления ответов на китайском. Минусы: у него нет способности понимать и генерировать мысли, а значит нет и не может быть той самой чуйки, про которую говорят "дело мастера боится". Хотя у каждого шахматиста есть определенный дебютный репертуар, человек может ориентироваться в незнакомом или вообще нестандартном дебюте, если осознал и способен применить простой принцип: развивай фигуры как можно быстрее и мешай противнику делать то же самое. Внушить компьютеру дебютный репертуар - вообще не вопрос, и в этот репертуар легко можно занести все, что напридумывали за тысячу лет, память-то резиновая кремниевая. А вот принципа он не поймет, поскольку понимать не в состоянии. И первый же отход от шаблона переводит его в самую сложную часть партии - миттельшпиль.
Эндшпиль-то тоже подчиняется весьма несложным алгоритмам. Ставить мат "голому" королю, располагая лишним ферзем, ладьей или двумя ладьями - тема для первых занятий шахматного кружка. Квадрат пешки и все дела - штука несложная. Но здесь зарыта своя собака, даже две. Первая - вероятность возникновения лишнего ферзя/ладьи в партии гроссмейстеров невелика, а остальные варианты не столь однозначны. Прелесть шахмат в том, что неоднозначны на уровне этюдов Рети, где удачный ход может перевесить формальную проигрышность ситуации. В принципе, ничего, кроме использования банальной идеи, что фигура из центра может одинаково быстро добраться на оба фланга, в этюде Рети нет. Но компьютер не переваривает идеи. Ему проще взять и рассчитать заранее все возможные ситуации. Пример такой попытки - эндшпильные таблицы Налимова. Самая длинная последовательность -
мат в 549 ходов. Автомат смог рассчитать такую совершенно неочевидную ситуацию. Решив прикрутить к своим автоматам такие таблицы, программисты отрыли вторую собаку, называемую "многофигурный эндшпиль". Все 3-фигурные окончания занимают 62,4 КБ, сущие пустяки. Все 4-фигурные - 29,5 МБ, и ими все еще можно снарядить любой ПК. Все 5-фигурные - 7,03 ГБ, т.е., все ОЗУ моего маленького компьютера. Все 6-фигурные - 1,205 ТБ, а это уже не влезет даже на жесткий диск. Ну хорошо, если оставить лишь часто встречающиеся окончания, эта таблица усушится до приемлемых размеров. Но все 7-фигурные займут целых 140 ТБ, они как раз недавно были рассчитаны с помощью суперкомпьютера. По-видимому, это предел осмысленности, поскольку все 8-фигурные окончания будут занимать приблизительно 10 ПБ. И тем не менее, они случаются.
Между отходом от шаблона в дебюте и попаданием в имеющуюся "таблицу Налимова" компьютер проходит фазу миттельшпиля. Проблема тут в другой стороне "китайской комнаты" - неспособности порождать свои мысли. Компьютер не может составить план и настойчиво преследовать одну цель, в этом его слабость. Все, что он может - это смотреть на три хода вперед и постепенно улучшать свою позицию, надеясь, что в конечном счете накопленное преимущество позволит перейти в выигрышный эндшпиль. Не стоит понимать это грубо, будто компьютер силен лишь тем, что не делает ошибок. Своеобразный реверс настойчивости - автомат всегда смотрит широко, и способен делать неожиданные, но опасные ходы по всему полю, на чем гнущему свою линию человеку легко попасться. Кроме того, автомат беспристрастен, и периодически может выдавать нелогичные, но абсолютно рациональные и полезные ходы. Автомат лучше человека может в тактику, но не может в стратегию от слова "совсем". Между прочим, такой стиль игры в шахматы реально существовал, и в начале ХХ века всем казалось, что так надо. А потом пришел Нимцович, и стало все как раньше. Половина шахматных принципов не поддается оцифровке в принципе. Компьютер не может в лавирование, если оно принесет успех, скажем, не через три хода, а через пять. Он этого успеха просто не видит, поскольку не способен составить план, а может только просчитывать варианты, имеющие весьма ограниченную длину. По похожим причинам, компьютер не может в лихие гамбиты (если только в него не загружены специальные гамбитные библиотеки). Те же из правил, что худо-бедно поддаются оцифровке, сталкиваются с уже обозначенной проблемой сравнения теплого и мягкого. С учетом всех этих возможностей, какие коэффициенты не вводи, все-равно останется целый класс позиций, совершенно неправильно оцениваемых программой.
Это какие-то другие настольные игры
Не шахматами едины. Пытались, пытаются и будут пытаться научить компьютер играть в самые разнообразные игры. Ним - китайская игра в камушки - далась компьютеру настолько легко, что стала бессмысленной. Ее "раскололи" еще живые математики, найдя выигрышную стратегию и способ однозначно определять исход на основании расклада. Другая игра, где исход довольно жестко определяется раскладом - преферанс. Некоторая сложность заключается в том, что преф - игра с неполной информацией. Но как игра "в закрытую", так и подсчет взяток на руке, критичный для торгов, подчиняются вполне определенным правилам. Да и число возможных раскладов невелико по сравнению с шахматами. Компьютер не обладает интуицией, но если пуля достаточно длинная, значение этого фактора нивелируется статистикой. Покер, однако, оказался куда сложнее преферанса, поскольку хотя обе эти игры - с неполной информацией, в префе не так-то много неполной информации, которая действительно важна. Прикуп добавляет к существующему раскладу только две карты, снос - это неопределенность лишь в двух картах, причем часто бывает так, что больших сомнений относительно сноса нет. А покер целиком построен на неполноте информации. Зато количество возможных раскладов при игре двух игроков в техасский холдем (лимитный) достаточно ограничено, чтобы, на основе статистики, выработать для каждого оптимальную стратегию и занести ее в память компьютера. Дело усложняет то, что игроков может быть больше двух, но объем вычислений возрастает не так быстро, как в шахматах. Как можно видеть, фактор случайности тоже не обязательно создает непреодолимые препятствия для машины. Еще один пример на эту тему - "морской бой". Хотя игра в значительной степени построена на случайности, сущетсвуют
оптимальные алгоритмы и
годные программы. Конечно, гарантировать победу не получится, поскольку невозможно принципиально исключить везение. Но везение не является прерогативой только человеческого существа, так что, компьютер может играть в морской бой как минимум не хуже человека.
Что касается других игр с полной информацией, то шашки были полностью расчитаны в силу низкой вариативности. И оказалось, что при правильной игре они всегда сводятся вничью. Не составило особого труда обсчитать и реверси, благо возможных ходов там гораздо меньше, чем в шахматах, и дебютная проблема отсутствует как класс. А вот с го - японской игрой в камушки, похожей на наши "точки", и визуально похожей на реверси - такой номер пока что не прошел. Го устроена проще, чем шахматы, там нет кучи разных фигур, для каждой из которых есть свои правила. Знай себе занимай ячейки. Сложность в том, что нужно одновременно оценивать ситуацию на всей доске, в любом месте которой в любой момент может появиться камень. А сама доска будет побольше шахматной. Если в шахматах мы имеем 30-60 возможных ходов для каждой позиции, и это уже сложно, то на гобане есть более трехсот пунктов, что означает невозможность полного анализа ситуации даже очень мощным компьютером даже на 2-3 хода вперед. Так или иначе, нужно сразу отбрасывать бесполезные ходы, а полезность ходов далеко не так прозрачна, как цена шахматных фигур, и функция оценки вилами по воде писана даже по сравнению с пересчетом позиции в пешки.
Шахматные решения неэффективны с го. Обсчитать фусэки по аналогии с дебютной библиотекой не получится, поскольку аналога строгой теории дебютов в го нет и быть не может: слишком много вариантов, все идет на уровне абстрактно понимаемых сфер влияния. Тюбан похож на миттельшпиль, здесь идет плотная и напряженная борьба. Проблема в значимости долгосрочной стратегии. Даже если бы получилось просчитать позицию на 3-4 хода вперед, это было бы бессмысленно, потому что стратегия может приносить гораздо более долгоиграющие выгоды. Человек хорошо справляется с го как раз за счет того, что понимает идеи. В компьютер можно забить алгоритмы, благодаря которым он будет разыгрывать каждую ситуацию: дзесэки, цумэ-го, это все. Но особенность го в том, что даже умеющий хорошо разбираться с каждой конкретной ситуацией игрок рискует проиграть на доске в целом. Часть го, которая действительно обсчитывается по принципу максимизации очков - ёсэ. С ней бы компьютер справился лучше человека, если бы к этому моменту его дело не было уже безнадежно проиграно за счет бессилия во всей остальной партии. Реальные шансы преломить ход игры в ёсе бывают только тогда, когда у обоих игроков к этому моменту примерно равные позиции. Только в этом случае и только на этом этапе го становится действтельно счетной игрой.
Максимально сложные условия
Так какие же игры являются счетными и какие еще бывают игры? Из приведенных примеров можно заключить, что возможность оцифровки произвольной игры зависит от двух факторов: функции оценки и размера дерева. При этом, крайне желательно, чтобы игра удовлетворяла ряду требований, при которых такие алгоритмы вообще возможны. Легко представить идеальную игру, в которой компьютеру будет максимально трудно. Это должна быть:
1) Игра с неполной информацией.
2) Игра с множеством разнородных аспектов, имеющих стратегическую важность.
3) Игра с неизменно большой вариативностью осмысленных ходов, лучше вообще не дискретная.
4) Игра, в которой нужно принимать решения с очень далеко идущими последствиями.
5) Игра, которая находится под большим влиянием не формализуемого фактора, например, фактора случайности
[i].
6) Игра, которая подразумевает участие как можно большего числа игроков.
Как показывает пример "морского боя", даже наличие двух с половиной факторов из пяти не спасает игру от оцифровки. Однако, существует
улучшенная версия морского боя, которую хрен обсчитаешь. Во-первых, в "адмирале" поле существенно выросло в размерах и покрылось случайно генерируемым ландшафтом, который обеспечивает различные эффекты. Во-вторых, имеется множество типов оружия - от классической пушки до кластерных бомб. Каждое оружие имеет разные эффекты и целесообразно для решения каких-то задач. В-третьих, возможность использовать оружие прикреплена к факту наличия на поле "живого" корабля-носителя. Да, каждая "палуба" имеет определенное количество хитпоинтов, а состав флота может варьироваться, причем существует множество различных вариантов. Конечно, чем крупнее корабль, тем лучшее оружие он несет. Чтобы защитить большой корабль от быстрого уничтожения, предусмотрена возможность использования десяти ремонтных комплектов каждого из трех типов за бой, при условии, что эти комплекты в наличии. Таким образом, в-четвертых, добавлен элемент стратегии - база, острова и заводы, покупка вспомогательных средств, прокачка кораблей, все такое. Еще есть береговая авиация, ЭМИ, ЯО, мины с сонарами, системы триангуляции и прочие важные нюансы. Таким образом, в игре с неполной информацией и большим влиянием фактора случайности мы еще больше увеличили выбор осмысленных ходов, добавили различных аспектов, имеющих стратегическую важность, добавили решений с далеко идущими последствиями и получили поле, на котором человеку легко разбить ЭВМ. Это еще без участия более чем двух игроков, и порожденного этим фактора дипломатии.
Ну а общий посыл, который после такого примера читателю, скорее всего, стал понятен, - чем ближе к реальности, тем большее преимущество имеет человек над конечным автоматом. Хотя в качестве промежуточной остановки, можно выбрать целый класс игр, которые полностью удовлетворяют шести перечисленным требованиям. Это 4х стратегии, как компьютерные, так и настольные. Хотя для полноценного обсчета такой игры требуется автомат, убогость ИИ в сравнении с понимающим принципы игроком давно стала чуть ли не каноном жанра. Ну, то есть, как-то конкурентоспособно развиваться и уделывать новичка за счет "человеческого фактора" допускаемых ошибок компьютер может. Но в конечном счете обнаруживается его принципиальная слабость, связанная, как правило: 1) С неполной информацией. Мы помним по шахматам и го, сколь сложен просчет вариантов во времени, а тут нужно еще и в пространстве считать. Пример - слабость ИИ в серии "Europa Universalis", когда компьютер легко можно спровоцировать на самоубийственную атаку, спрятав основные силы в "тумане войны".
2) С неверной оценкой позиции, порожденной сложностью сравнения разнородных факторов. Например, в серии "Civilisation" ИИ так и не научился нормально использовать ядерное оружие, которое существенно отличается по производимому эффекту от всего остального, за счет чего не имеет шансов в военном противостоянии на поздних этапах игры. И с флотом у него, в отдельных играх серии, были большие проблемы, и с авиацией.
3) С тем, что, от избытка возможных ходов, разработчики поленились просчитать все, а вот игровое сообщество не поленилось. Пример - дизайн кораблей и их поведение в тактическом бою в классической 4х стратегии "Master of Orion II".
4) С тем, что компьютер не умеет планировать, и принимает решения без оглядки на далеко идущие последствия. Характерно для любой 4х стратегии, исключений нет.
Тактический компьютер всегда знает больше, чем ты
Это из "Барраярского цикла" Буджолд, второе правило работы с тактическим компьютером. Первое правило гласило: "Никогда не вмешивайся в работу тактического компьютера, если только не уверен, что знаешь больше, чем он". И по такому принципу сражались большие группы звездолетов, а люди на них нужны были только для абордажа. Экстраполируя обозначенную мной тенденцию, можно понять, что всевластие тактического компьютера еще нереальнее, чем абордаж в космосе. Ведь настоящий бой обладает всеми шестью особенностями, с которыми конечный автомат справляется плохо в силу фундаментальных принципов работы. А бой в космосе, к тому же, обладает ярко выраженными особенностями 3 и 4. Так что, без человеческого адмирала, человеческого сознания и человеческой чуйки (не интуиции, а именно чуйки) в таком деле никуда.
С другой стороны, знает-то компьютер действительно больше. Беда в том, что он неспособен своими знаниями грамотно распорядиться, поскольку представляет собой "китайскую комнату". Поэтому наилучшую эффективность должен показывать своеобразный "кентавр" - связка "человек + компьютер". В тех же шахматах "кентавры" уже вовсю используются. Конечно, таким образом нарушается одно из главных правил, в соответствии с которым шахматисту нельзя подсказывать. Поэтому выделена отдельная дисциплина - Advanced Chess. Когда знаменитая шахматная программа "Рыбка", установленная на 52-х ядерном кластере испытывалась в матчах против фристайл-команд (шахматист с высоким, но не заоблачным, рейтингом + электронный советчик + программисты), оказалось, что чисто автоматическую "Рыбку" без особых проблем можно обыграть, даже значительно уступая в вычислительной мощности, за счет человеческого фактора, от которого, по мнению радикально настроенных граждан, якобы одни проблемы.
Как же распределяются роли в "кентавре" продвинутых шахмат? Компьютер используется в качетсве шпаргалки - доступ к дебютным книгам и таблицам Налимова - полезное подспорье даже для хорошего шахматиста. Компьютер - это не просто запасная доска, на которой можно рассматривать варианты. Он же сам их и рассмотрит, причем существенно быстрее. Заодно избавит игрока от такой слабости, как неумение думать за противника, получив взамен преимущества чуйки оператора, который, в отличии от машины, понимает партию на идейном уровне. Человек понимает, когда имеет смысл применить комплексный анализ несколькими движками, анализ только выбранных ходов, анализ угроз, етс.
Что касается человека, его роль не ограничивается, как это обычно видят фантасты, лишь генеральным планированием и принятием ключевых решений. Человек может играть на "подсадить и обставить". Как ни странно, с компьютером тоже можно провернуть что-то похожее, если знать, как он работает. Например, победитель 8го фристайла и известный адвансер Eros Riccio добился значительного преимущества, осуществив вариант, который "Рыбка" сначала посчитала выгодным для себя, но через несколько ходов резко изменила оценку на противоположную. Дебютная книга, находящаяся в распоряжении этого шахматного автомата, хороша, но не идеальна. В результате, дебют был "Рыбкой" проигран из-за непоследовательности действий, что и определило исход партии. Кроме того, хороший оператор может целенаправлено играть на перспективу, которую, в отличии от машины, видит. Автомат идет на размен, руководствуясь условной ценой итоговой позиции. Но можно попробовать получить позицию без большого перевеса, в которой слабости противника будут носить хронический характер, а то, что их компенсирует, - временный. Компьютер не способен различать такие вещи, он оценивает позицию "как есть", без учета тенденций. И охотно попадает в ловушку. Пара примеров того, что получается, разобрана
здесь. Update: Это может показаться странным в отношении шахмат, ИИ для которых довольно глубоко проработан. А вот что касается более сложных игр, тот, кто ни разу не пользовался дырами в поведенческой программе компьютерного оппонента, безнадежный ламер.
Проблема и ее решение
Но почему получается так, что, хотя размеры "элементарных преобразователей" в компьютере давно сравнялись с таковыми в живой системе, возможности автомата в ряде задач все еще безнадежно уступают человеческим? В силу того, что автоматический вычислитель не равен автоматическому мыслителю. Как оказалось, возможности человеческого мозга не исчерпываются полностью счетом, и классический электронный компьютер, являясь всего лишь вычислителем, до человека в ряде задач никогда не дорастет. Хотя такой большой и сложный калькулятор может быть очень полезен при решении многих задач.
Чтобы научить автомат, скажем, играть в го, требуется прорыв не на уровне программы, а на уровне архитектуры. Возможно, таким прорывом станут нейронные сети. Уже существуют суперкомпьютеры, собранные на этом принципе. Они не пытаются считать наиболее эффективным образом. Фишка нейронной сети в том, что она может действовать на основании предыдущего опыта, обучаясь примерно так же, как человек. То есть, скорее всего, мы имеем дело как раз со штукой, способной мыслить в той же степени, в которой птица спсобна летать. Сегодня этот класс автоматов как раз активно развивается, скажем, покерная программа представляла собой как раз эмулятор нейронной сети. Она работала на обычном компьютере, но, из-за принципиальной разницы в устройстве, нейронная сеть нуждается в совершенно другом "железе", чтобы работать в полную силу. Это связано с тем, что для ее процессоров важно не, собственно, состояние процессоров, а связи между ними. Ее не програмируют, а обучают, поэтому, гипотетически, она способна преодолеть те слабости автомата, в силу которых машина не может играть лучше человека в целом ряде игр. Но что такое нейронная сеть, и в являляется ли она "китайской комнатой" - тема отдельного разговора.
[i] Фактор случайности не является формализуемым только в том случае, если число итераций, за которое ход игры может коренным образом измениться, недостаточное большое, чтобы вступил в действие закон больших чисел. Иначе его можно формализовать посредством статистики. Поэтому преферанс может быть как коммерческой игрой, так и азартной - все зависит от длины пули.