Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич
Вообще было бы неверным считать, что советская вычислительная техника возникла в 1948 г. как чёртик из табакерки. В 1930-е гг. СССР производил собственные арифмометры и табуляторы. Так же как и на Западе, появлению электронных цифровых машин предшествовал период экспериментов с аналоговой техникой. Вот лишь некоторые важные вехи этого этапа: в 1939 г. Брук создаёт механический интегратор (дифференциальный анализатор), позволяющий решать дифференциальные уравнения до 6-го порядка, в 1947 г. — до 20-го порядка. В 1940-х гг. под руководством Льва Израилевича Гутенмахера начата разработка электромеханического прибора управления артиллерийским зенитным огнём и первых электронных ламповых интеграторов. Эти работы привели к созданию первых электронных аналоговых машин с повторением решения — такие машины способны не просто однократно вычислить значение некоторой функции по входным параметрам (подобно аналоговым вычислительным машинам однократного действия), а производить целые серии вычислений, запоминая результат каждой из них [438]. В 1945 г. Лебедев создал первую электронную аналоговую вычислительную машину для решения систем обыкновенных дифференциальных уравнений [439].
Исследования Гутенмахера не только оказали влияние на первую машину Лебедева, но также стали отправной точкой для другого интересного проекта. В 1954 г. в лаборатории Гутенмахера была создана машина ЛЭМ-1, логика которой была реализована без применения электронных ламп. Элементной базой новой машины, проект которой был представлен в 1950 г., стали двоичные феррит-диодные ячейки, представляющие собой электромагнитные бесконтактные реле на магнитных усилителях трансформаторного типа. Позже, основываясь на ячейках Гутенмахера, Николай Петрович Брусенцов разработал троичную феррит-диодную ячейку, которая работала в двухбитном троичном коде, то есть один трит записывался в два двоичных разряда. На основе этих ячеек в 1958 г. в Вычислительном центре Московского государственного университета была разработана малая ЭВМ «Сетунь». Минимальной адресуемой единицей главной памяти «Сетуни» был трайт. Один трайт равен 6 тритам (почти 9,51 бита). В «Сетуни-70» трайт интерпретируется как знаковое целое число в диапазоне от −364 до 364. В трайте может содержаться целое число как девятеричных, так и двадцатисемеричных цифр. «Сетунь» стала первой в истории цифровой машиной на базе троичной логики [440].
С позиции сегодняшнего послезнания многие решения, принимавшиеся создателями вычислительных машин до эры интегральных микросхем, могут показаться наивными или откровенно ошибочными. Такое впечатление складывается в силу того, что в развитии вычислительной техники за последние сто лет произошёл огромный прогресс, что привело к переоценке множества идей, методов и процессов. Сегодня нам кажутся очевидными многие идеи, ещё столетие назад бывшие лишь смутными мечтами людей, которых многие их современники считали чудаками. Урок, преподнесённый человечеству историей вычислительной техники, заключается в том, что даже полукустарные начинания (вспомним хотя бы постройку Цузе его первой машины), с прохладой встречаемые признанными лидерами технологического бизнеса («не подпускайте Атанасова к табулятору»), могут содержать в себе потенциал масштабных изменений, способных радикально изменить «правила игры». Конечно, здесь можно легко стать жертвой «систематической ошибки выжившего», поскольку до нас дошли только «победившие» идеи, а огромное количество «революционных» идей новаторов на деле оказывались полной чепухой, и время экспертов, растраченное попусту на анализ этой чепухи, по всей видимости, огромно (хотя порою даже анализ чепухи приводит к появлению плодотворных идей). Однако истории известны не менее печальные случаи, когда многие идеи оказывались похоронены по причине некачественной экспертизы, ошибок управленцев и финансистов, режима секретности или недостаточного упорства самих изобретателей.
Изучение идей создателей первых вычислительных машин позволяет иначе взглянуть на некоторые «незыблемые» концепции наших дней. Парафиновые кубы и мыльные плёнки в качестве основы для вычислений, троичная логика, парадигма вычислений, основанная на сортировке карт, — все эти идеи заставляют задуматься над тем, является ли главный путь, выбранный вычислительной техникой в своём развитии, столь уж безальтернативным. Будут ли вычислительные машины будущего похожи на современные компьютеры? К этому интересному и вовсе не тривиальному вопросу мы вернёмся несколько позже. А сейчас поговорим о задачах, которые были поставлены перед электронными вычислительными машинами вскоре после их создания.
3 Машины, которые играют в игры, и игры, в которые играют машины
Понятие игры как таковой — более высокого порядка, нежели понятие серьёзного. Ибо серьёзность стремится исключить игру, игра же с лёгкостью включает в себя серьёзность.
Как и во всякой экспериментальной науке, специалистам, занимающимся исследованиями в области ИИ, нужна была своя «мушка дрозофила» — модельный объект, на котором можно опробовать созданные методы. В 1995 г. журнал Time в статье «Об озоне и фруктовых мушках», посвящённой нобелевским лауреатам 1995 года, так описывал роль, отведённую дрозофилам в современной науке: «Для большинства людей плодовые мушки — это надоедливые насекомые, которые роятся вокруг перезрелых бананов. Однако для биологов они являются ключом к разгадке некоторых из глубочайших загадок жизни. Они почти идеальные лабораторные животные: крошечные насекомые не только быстро растут, но и их генетическая структура поразительно похожа на человеческую. Поэтому для трёх исследователей, получивших в этом году Нобелевскую премию по медицине и физиологии, было вполне естественно использовать плодовых мушек, чтобы помочь разгадать загадку того, как гены контролируют эмбриональное развитие — у насекомых и у людей» [441], [442]. На роль плодовой мушки искусственного интеллекта настольные игры подходили идеально: мир настольной игры достаточно прост и основан на чётких и однозначно определённых законах. Создавая ИИ для игры, мы тем самым абстрагируемся от массы инженерных проблем, лежащих между ИИ и выполнением задач реального мира, нам не нужно оперировать физическими объектами, достаточно лишь формального описания игрового положения в памяти компьютера и простых средств ввода-вывода, созданных ещё на заре компьютерной эры. Настольная игра — это в некотором роде чистая игра ума, требующая от интеллектуального агента одного лишь умения принимать разумные решения в замкнутом игровом пространстве. В то же время игра претендует на то, чтобы быть, пусть и крайне упрощённой, моделью действительного мира. Ведь процесс принятия решений в ней отдалённо напоминает аналогичный процесс в реальной жизни. Неслучайно в обыденных разговорах мы часто употребляем игру как метафору для человеческих взаимоотношений: «геополитические игры», «мировая шахматная доска», «игра на понижение», «закулисные игры». Герман из пушкинской «Пиковой дамы» заявляет, что наша жизнь — игра, а популярный психолог Эрик Берн пишет книгу «Игры, в которые играют люди», посвящённую социальным взаимодействиям людей. Игровой, игрушечный мир создан по подобию мира реального. Ребёнок, познающий мир, нередко подступается ко взрослым проблемам именно в упрощённой игровой форме, а навыки, полученные им в игре, нередко оказываются востребованы в будущем. Подобно тому как мы в игровой форме обучаем своих детей взрослой жизни, мы используем игру и для создания первых прототипов систем искусственного интеллекта, приспособленных решать задачи реального мира.