Лаборатория информационных технологий
НооЛаб - создание сайтов, программное обеспечение, инновационные проекты
на главную поиск карта сайта
создание сайтов, порталов, веб-систем бизнес-системы, базы данных, CRM, CMS, АРМ инновационные проекты, искусственный интеллект, базы знаний, анализ текстов
web-development software development AI (artificial intelligence)
Создание сайтов и другие веб-услуги Программное обеспечение Исследования, НИОКР

Статьи

Интернет - 5

Искусственный интеллект и самоорганизующиеся системы - 14 / 5

Прикладные системы - 2

Разное - 2 / 2

Управление знаниями - 3

Философские, логические и антропологические исследования мышления - 6 / 5

Новое - 12 материалов

ПРЕДЛАГАЕМ СОТРУДНИЧЕСТВО

  • Рекламным агентствам
  • Издательствам и редакциям
  • Поставщикам компьютеров и ПО
  • Юридическим и бухгалтерским компаниям

Сотрудничество предполагает выполнение совместных проектов, совместное оказание комплексных услуг клиентам, взаимодействие по привлечению новых клиентов.

Компания НооЛаб создает и поддерживает Интернет-сайты партнеров на особых условиях.

По вопросам сотрудничества обращайтесь:

Русин Александр
noolab@yandex.ru

НАШИ ПАРТНЕРЫ

REG.RU - партнер по регистрации доменов в зонах .RU, .SU и .РФ.

Подробнее об услугах регистрации доменов

КОНТАКТЫ

e-mail: noolab@yandex.ru

Телефон сообщается по запросу

Все контакты и реквизиты

ОБЪЯВЛЕНИЯ


http://help-my-gadget.ru/remont-iphone-5/zamena-ekrana

ГЛАВНАЯ

СТАТЬИ

Появится ли искусственный интеллект на Марсе?

Русин Александр Олегович, 12.08.2008



материалы к спору

Чтобы заголовок не вводил Вас в заблуждение - сразу оговорюсь, что речь пойдет про то, будет ли когда-нибудь создан искусственный интеллект (ИИ) и каковы предпосылки его создания, либо недостижимости. А Марс имеет ко всему этому достаточно косвенное отношение, хотя мне кажется, что именно марсианская тема позволяет найти и обосновать ответ на поставленный вопрос.

Но ближе к делу. Уже достаточно давно бродит в мире информационных технологий тема искусственного интеллекта. Научить машину думать - об этом помышляли многие ученые, инженеры и даже далекие от IT-индустрии писатели-фантасты.

А воз и ныне там. Не то чтобы совсем там, но... кардинальных изменений не наблюдается. В чем причина?

Сперва доложу Вам, что не все так просто. Как оказалось после первого десятилетия исследований, возможностей цифрового автомата и мощности булевой логики - не очень-то хватает для решения задачи создания ИИ. Хотя чисто теоретически все просто: процессор с бесконечно большой производительностью и множество булевых функций бесконечной мощности. И всего-то. Сущая ерунда. Вот только беда в том, что на практике даже решение очень конечных задач с очень конечными объемами исходных данных и относительно несложными функциями... зачастую требует построения систем "на грани технических возможностей".

Да и другая тенденция налицо: удвоение производительности процессора ведет к очень незначительному приросту в интеллектуальности решаемых задач. Зависимость обратно экспоненциальная. Процессоры ускоряются в тысячу раз, уровень интеллектуальности - едва-едва утраивается, да и то - очень условно.

Математический аппарат, который позволил бы создать искусственный интеллект - не то что слабоват, его как бы даже и нет:

  • Алгоритмический подход исчерпал себя первым - даже не каждую формализуемую задачу можно решить на Алголе-60, если говорить о реалистичных решениях, а не о сугубо теоретических возможностях.
  • Функциональные языки порадовали мир практическим воплощением школьного тезиса "существует такая функция, что...". Дальше дело двинулось очень недалеко - многие относительно простые функции уперлись в производительность, очень наглядно продемонстрировав всю фантастичность подхода. А также обнаружился странный факт, что многие конструкции на функциональном языке хоть и обладают стройностью и легки в составлении, но являются не более чем "видом сбоку" на тот же (извините за выражение) хрен, который являют собой алгоритмические языки. И те и другие, как ни крути - составляет человек, то есть и то и другое - путь строгой формализации. Который для ИИ не годится.
  • Лисп, Форт, Пролог - хотя и не имеют никаких концептуальных отличий от алгоритмическо-функциональной идеи - тем не менее оставили яркий след в истории, поразвлекли исследователей и явили миру целый букет всевозможных диковинок, фактически выжав все, что можно было выжать из простого функционального и/или алгоритмического подхода. Но не более.
  • Экспертные системы и базы знаний - оказались, пожалуй, первым серьезным шагом к искусственному интеллекту, поскольку позволили человеку отчуждать часть своих знаний. Но экспертная система проявляет интеллектуальность лишь настолько, насколько подробно эксперт изволил выложить свои знания, опять же формализовав их. Хотя метод формализации и начал походить на живое обучение, но... он остался лишь формализацией. И если с перекладыванием на плечи машины "консалтинга по рецептам" прогресс получился неплохим, то с образным мышлением, моделями поведения и интуицией - по-прежнему все осталось "никак". Дальше примитивного обезьяно-попугая дело не ушло.
  • Нейронные сети - стали вторым внятным и уверенным шагом. Но лишь шагом, а не достижением цели. С самообучением машины стало полегче. Но остро встал вопрос о разработке модели сети. Проще и строже модель - быстрее и эффективнее обучение. Сложнее и свободнее модель - экспоненциальное падение скорости и результативности. А для образного мышления и моделей поведения - вообще никакого толку... не говоря уже про интуицию. Научили машину заниматься нехитрым прогнозированием, чуть-чуть более продвинутым в сравнении с аппаратом мат.статистики. И то хорошо.
  • Нечеткая, троичная и другая заколупическая логика. Опять же логика. Суть - тоже формализация. Где и как ее использовать - в функциях, алгоритмах, моделях нейрона или где-либо еще - вопрос, ничего по большому счету не меняющий. Ну, наверное, можно назвать появившийся зоопарк альтернативных логик своеобразной ступенью на пути к ИИ. Почему бы нет. Спор-то не в этом.
  • Объектно-ориентированное программирование. Метод, созданный вовсе даже не для решения проблем ИИ, а для сугубо практических нужд. Но внедрение ООП в жизнь сразу дало надежду на возможность решения сверхсложных задач. Ведь, казалось бы, можно решать задачи поэтапно, оформляя получающиеся решения любого уровня сложности в классы и используя в дальнейшем. На практике получилось, что для ИИ и этого недостаточно. Во-первых сложная иерархия классов активно потребляет ресурсы компьютера, уступая в этом разве что функциональным языкам. Во-вторых, не удается сделать, отладить и "положить в копилку" достаточно сложные классы - их приходится опяять же модифицировать, заново отлаживать, а иногда и полностью перерабатывать. А переработка достаточно базовых классов в иерархии - подобно реконструкции фундамента - требует разрушения всего дома с последующей отстройкой заново. От чего, собственно, и старались избавиться... не вышло.
  • Эволюционное программирование. Одно из мало исследованных, но все же сравнительно старых направлений. И, я бы сказал, самое прогрессивное и близкое к решению поставленной задачи. Но и тут загвоздка. В принципе, казалось бы, - эволюционирующая система, если у нее достаточно степеней свободы - обязательно разовьется до интеллекта, решающего поставленную задачу. Теоретически - эволюционирующая система суть следующая и, вроде бы, последняя ступень на пути от нейронной сети до мыслящей субстанции. В нейронной сети - фиксирована модель / структура, которая обучается на примерах решений или фактах. В эволюционирующей системе - фиксирован только "материал", из которого она лепится, то есть - самоорганизуется. Модель и структура - в эволюционирующей системе не обязательно должны быть заданы, теоретически они сами выстоятся. Выращивается такая система - даже не обязательно на примерах решений, а хотя бы на голой постановке задачи. Это все, конечно, очень грубые описания, но не очень далекие от сути. Так в чем же возникла засада? Почему эволюционное программирование не дало решений? Или это еще слишком новый, мало изученный метод? Метод известен не первый день. И наряду с тем, что он много обещает - он же многого требует. Например, он тоже любит формализацию, как и нейронные сети. Чем выше формализация - тем быстрее эволюция дает положительные решения. Чем ниже - тем быстрее все скатывается к прямому перебору вариантов. В чем-то этот метод можно назвать заполняющим пропасть между функциональным языком и моделью нейронной сети. Когда у эволюции нет модели - тогда она сводится к функции с перебором. Когда модель есть - перебор сокращается и она становится похожей на нейронную сеть. Но самое обидное - что отношение требований/возможностей эволюционного метода - лежит где-то в той же окрестности, что и у функциональных, нейросетевых и комбинированных подходов. Никуда за пределы оно заметно не вырывается: либо дает хорошие эффективные решения сравнительно формальных задач, либо упирается в экспоненциальный рост производительности. И хоть ты тресни. Да и это не полный список проблем. Есть, например, такая неприятная проблема, что эволюция старается дать не самое лучшее решение задачи по абсолютному показателю, а самое лучшее по соотношению сложность/эффективность. То есть как только эволюция пришла к мало-мальскому прогрессу в решении задачи - она старается зафиксироваться на нем, и без специальных ухищрений - заставить ее двигаться дальше очень сложно. В общем, кругом с этой эволюцией проблемы. Кругом тупики, будь она неладна.

Итак. Основные из известных методов построения интеллектуальных систем я раскритиковал. Возможно, что-то из любопытных методов я пропустил. Но полагаю, это несущественно.

Существенно, что все известные методики содержат в различной пропорции три фундаментальных подхода:

  • Алгоритм. В любом виде: запись "если - то", варианты с порогами срабатывания, формулы с булевыми функциями и без оных, со строковыми значениями и без таковых... И все тому подобное.
  • Функция. Любая запись, где есть некоторое количество переменных, задана взаимосвязь между ними и все приравнено к какому-то значению, - так, что осталось лишь найти решение или множество решений.
  • База знаний. Некий массив данных, который дается системе, интерпретируется ей, и в процессе работы может изменяться системой и/или внешним экспертом (внешней системой).

Важно то, что каждый из этих концептуальных подходов обладает своими достоинствами и недостатками. Но печально то, что недостатки одного подхода в общем случае не могут быть преодолены путем задействования другого подхода. В частных случаях - пожалуйста, а в общем - нет.

Это очень похоже на три ортогональных друг другу оси. Как ни двигайся вдоль одной - вдоль другой твоя координата неизменна.

Сомневаетесь? Тогда давайте об это подробнее.

Алгоритм.

Неудобен тем, что все решения в него уже заложены первоначально. И все ошибки - тоже. Это полная формализация. Того, чего не предусмотрено на этапе составления алгоритма - добиться не удастся. Однако, очень многие вещи могут закладываться неявно и неумышленно (те же ошибки). Но неявно и неумышленно - это только с точки зрения человека.

В действительности, функции и базы знаний тоже сводятся к алгоритму, выполняющему подбор решений в случае функции и интерпретацию/модификацию в случае базы знаний. Но если так рассуждать - то будет не очень интересно и поэтому я предлагаю закрыть глаза на данный факт и поговорить о функциях и базах знаний отдельно.

А по части алгоритма - следует добавить, что для решения его неудобств как раз и придуманы функции и базы знаний. Чтобы те части алгоритма, которые аналитически заложить не удается - образовались "как-нибудь так". А фактически - это означает, что вместо слов "как-нибудь так" будет другой, но менее оптимальный алгоритм, который знает вместо строгого готового решения - либо громадное множество решений (функция), среди которых подбирается наилучшее, либо - знает, у кого это надо узнать (база знаний) и умеет извлечь оттуда решение, буде оно там заведется.

Функция.

Неудобна тем, что ее единственное универсальное решение - полный перебор. Все, что можно решить без перебора (сократить, вынести за скобки, решить аналитически) - является вотчиной алгоритма и проблем не вызывает. То, что требует подбора (подстановок) - вызывает проблемы. Несколько переменных, требующих подбора - возводят количество вариантов в некоторую степень (2, 3, 4 и так далее). Пять в пятой степени - это ерунда. Десять в десятой - по силам хорошему суперкомпьютеру. А одиннадцать в одиннадцатой - уже все, "суши весла, приплыли". Нет еще такого суперкомпьютера, который посчитал бы подобный перебор при жизни постановщика задачи.

Но не помогут ли в укрощении функций алгоритмы и базы знаний? Вероятно, перебор может быть существенно сокращен. В частных случаях - да, безусловно. В общем - нет. Как только найдено строгое правило решения - пишется алгоритм, функции не нужны. Они затем и делались, что требовалось решение неформализуемой задачи. С базами знаний - не легче: часть значений можно не перебирать, а черпать из баз знаний, буде они там появятся. Появятся ли, будут ли удовлетворять условиям, да и появятся ли быстрее, чем выполнится подбор? Вот это хорошие вопросы.

База знаний.

Когда знания (решения) есть - база знаний позволяет их накапливать, переносить, распространять. Например, решение было посчитано в прошлом году - чтобы не считать его на суперкомпьютере в следующем году - запишем в базу знаний. Или, например, приходил эксперт с большой головой, который знает решение - поскольку оставлять свою большую голову эксперт не согласился - записали известное ему решение в базу. И так далее.

А вот когда знаний / решений нет (еще нет) - база знаний является лишь способом переложить проблему с больной головы на здоровую. Ладно, если решение появится. А если нет? И уж если решение принципиально сложное - то почти наверняка не появится.

Будем предполагать, что другая автоматизированная система найдет решение и запишет в базу? Но ведь она будет строиться из таких же алгоритмов, функций и баз. Чем же она лучше для поиска решения? Просто использовать ее как дополнительный ресурс и распараллелить работу? Можно. Но удвоение, утроение и даже удесятерение производительности вряд ли поможет, если существуют принципиальные проблемы в решении задачи.

Теперь после прочитанного может появится вопрос: если все сводится к алогоритмам, а остальные подходы - ничего принципиально не решают - то зачем они нужны? Все очень просто. При решении сугубо практических задач - где-то лучше сэкономить два дня разработки сложного алгоритма и заставить машину перебором найти решение за пять минут. Где-то - существуют данные/знания, которые выгодно сохранять (например, порождаемые другой, уже отлаженной и эффективной системой). Где-то есть другие потребности и выгоды.

Но мы-то рассуждаем о проблеме построения искусственного интеллекта. Это задача пока не формализованная и, скорее всего, неформализуемая. Да это и не важно - важно, что прямо сейчас ее решения нам неизвестны. И становится очевидно, что если уж мало-мальски алгоритмизировать данную задачу не удается - то и функции с базами знаний в этом деле не очень-то помогут.

И вот здесь будет правильно возразить мне: "А и не нужно строить целостное решение проблемы ИИ сразу и с опорой на один из подходов. Нужно разделить задачу на части и сочетать разные эффективные методы".

И тут я отвечу: "Пока еще это ни у кого не вышло и, похоже, не выйдет".

Чтобы понять, почему, - давайте попробуем решить, какая часть будет алгоритмизирована, какая описана в виде функции, какая - пойдет на базу знаний. Например, базой знаний будет все множество текстов на естественном языке. Осталось лишь научить машину понимать тексты на очень детском уровне, а там - обучится. Как научить машину понимать тексты? Частично - алгоритмизируем, частично - описываем в виде функций, частично - строим другую базу, в которой... Стоп! Цикл замкнулся. Пришли к тому, что поставили частную задачу "интерпретировать базу знаний в виде всего множества текстов на ЕЯ", для ее решения пришли к необходимости другой базы... Не говоря уже о том, что сказать "частично - туда, частично - сюда" - это легко, а конкретизировать - уже гораздо сложнее.

И здесь свою губительную роль играет другая проблема "цифровой" природы компьютера. Чтобы сложная задача была решена по частям - нужно строго описать входные и выходные данные каждой части, ее интерфейс. Если не с точностью до байта, то хотя бы по принципу. А когда какая-то (тем более - существенная) часть системы не имеет строгого описания - то, увы, система не состоится.

Но проблема не только здесь. Когда мы начали делить систему на "базу знаний из текстов", "алгоритмы такие", "алгоритмы сякие", "функции" - на базе какой такой технологии мы начали это делать? Из чего вытекает, что нужно так? Если это просто "гипотеза с потолка" - то такие гипотезы можно перебирать тысячелетиями. А если это на основе строгих знаний - то каких?

Сама по себе модель интеллектуальной системы никому толком не известна. Есть много частных гипотез. Очень много. И про языковое мышление, и про распознавание образов, и про голографическую машину. Но они все частные. А целое?

Целостной моделью человеческого поведения, мышления, отношений - занимается, извините меня, философия. На полном серьезе - куда уж серьезнее. И философские труды можно рассматривать как своеобразную базу знаний о том, как, зачем и почему все в этом мире вообще, и у человека - в частности. И интерпретировать (а тем более модифицировать) эту базу знаний - дано даже не каждому человеку. Но если бы, предположим, мы все же научили этому машину - то можно ли надеяться, что всей этой информации будет достаточно? Прочитав все множество философских трудов, машина с большей вероятностью сойдет с ума, нежели станет настоящим носителем интеллекта.

Но решение есть!

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

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

Почему бы не повторить это чудо природы? Вместо миллиарда лет хотелось бы уложиться за десятилетие, вместо планеты - очень массивные накопители.

Теоретически это осуществимо. Конечно, очень много нужно будет оптимизировать - и в виде алгоритмов, и в виде готовых знаний. Чем больше - тем лучше. Проскочить первые сто миллионов лет, наверное, вообще не составит труда. Да и когда оформится интеллект на уровне хотя бы хомячка - дело уже пойдет быстрее. Можно будет очень многое дооформить, от некоторых вещей отказаться...

Как пройти от уровня амебы, "рассуждающей" на уровне холодно-горячо до хомячка, способного неплохо ориентироваться в пространстве - вопрос, конечно, интересный. Но, наверное, как-то можно.

Много, по-настоящему много вопросов. Быть может, вообще можно игнорировать 98% всего "функционала", возникшего у живых организмов в ходе эволюции. Есть гипотезы, что достаточно "снять ряд принципов" и положить их на правильный интерпретатор. Может быть, может быть... Я-то сам глубоко сомневаюсь, что хотя бы половину функционала естественного интеллекта можно "отрезать". Даже на том уровне, на котором эволюционные методы изучены сегодня - стало очевидно, что эволюция дает решение, сравнительно устойчивое к мутациям и повреждениям, но не такое избыточное чтобы можно было отрезать половину или даже треть.

Так что, скорее всего, придется нелегко. Предстоит досконально разобраться с вопросами, как, зачем и в результате чего на нашей планете появился разум. И этот процесс предстоит в некотором смысле воспроизвести. Либо - воссоздать интеллект, минуя процесс воспроизведения эволюции (разрабатывая формальные модели, неформальные модели, оптимизируя эволюцию, строя нейронные сети и все прочее). Да, воссоздать разум, миновав повторение всей эволюции, - это будет очень почетно и очень экономно с точки зрения времени. Но представляется гораздо более сложным по принципу.

Сложно, но можно. Теоретически. И гораздо более реально, чем дожидаться появления компьютера с бесконечной производительностью. Но насколько более реально?

И здесь к ответу на вопрос пора привлекать Марс...

Будет ли основана колония людей на Марсе?

О колонизации звезд и планет писало тоже немало фантастов. И мечтало об этом в свое время достаточно много читателей их книг.

Но звезды пока крайне далеки. Луна и Марс - гораздо ближе. Можно ли поселиться на них? Теоретически - можно. И даже практически, если напрячь конструкторскую фантазию - тоже можно. Да, нужно доставить на Марс много грузов. Очень много. Но, наверное, не больше, чем их выведено на орбиту за прошедшие десятилетия в совокупности. Еще нужно доставить на Марс людей. Однако на Луну же доставляли - можно и на Марс. Еще нужно обеспечить колонию энергией. Это уже проблема, но солнечные батареи и/или атомный генератор вроде бы могут обеспечить энергией небольшое поселение. Далее - нужна вода и пища. Это еще сложнее, но если напрячь фантазию, то некоторые технически реализуемые решения в голову приходят.

Аналогии уже видны?

Технически - вроде бы реализуемо. Не до конца понятно как, но вроде бы можно. Очевидно, что решение задачи требует гигантских усилий (читай - ресурсов). Даже при привлечении этих ресурсов результат не гарантирован. Но даже если результат достигнут... то что? Что с того, что Марс колонизирован? Удовлетворение кучке фанатов - не дороговато ли? Экономическая выгода - отрицательная (ведь поддержка колонии будет обходиться в тысячу раз дороже получаемой от нее прибыли в виде тех же научных данных).

Даст ли колонизация Марса столь большое удовлетворение для человечества в целом? Вряд ли. Большинству людей вполне достаточно посмотреть фильм "Вспомнить все" или "Звездные войны" чтобы на неделю удовлетворить свои сохранившиеся с детства "межзвездные грезы". А если спросить у нормального человека "дашь ли 1000$ для марсианской колонии" - то он вполне резонно ответит "ну нашли же метод деньги вымогать - хоть бы уж финансовую пирамиду построили - все толку больше".

Вот таков и вывод.

Искусственный интеллект на Марсе?

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

Создать ИИ - это тоже крайне сложная научно-техническая проблема, требующая привлечения гигантских ресурсов. И хотя для этого не нужно жечь миллионы тонн горючего и строить сотни космических кораблей - нужно строить лаборатории, суперкомпьютеры, и что еще более важно - привлекать громадный научный ресурс. А хороших специалистов по ИИ - в настоящее время вряд ли больше, чем астрономов и космонавтов. И не потому, что это такая сложная и недоступная область. А потому, что она слишком специфична и не слишком востребована.

Не слишком востребована!

Может ли простое любопытство и желание построить рукотворный разум - окупить столь сложную разработку? Вряд ли. Простой, не одержимый темой ИИ человек - посмотрит после "Звездных Войн" фильм "Матрица" - и снова на неделю забудет про подобные идеи и мечты.

А будет ли ИИ целесообразен экономически? Вот это неясно. Нужен ли человеку думающий помощник с железной головой? В этом можно усомниться. Представьте, что компьютер, кроме непроизвольных сбоев (синие экранчики Windows, зависания, перезагрузки и все прочее) - дополнительно начинает проявлять характер: "это не хочу", "а вот это хочу", "считаю иначе", "нет, я поступил по-другому, потому что так лучше", "я не могу так работать - должны же у меня быть свои права". Прельщает?

Вот-вот. От компьютера хочется формальности. Детерминированности. Чтобы работал понятно и стабильно. Чтобы выполнял сложные задачи - да. А чтобы умничал - нет. Чтобы Yandex или Google хорошо искал - хочется. А чтобы сам решал, что выдать, а что нет - уже не хочется.

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

А все прочее - неформализуемое, неочевидное, рискованное - все, что входит в тему ИИ - безусловно, и в дальнейшем будет притягивать определенный ресурс. Но, надо думать, на порядок меньший, чем ресурс, необходимый для создания "рукотворного разума".

Источники ресурса для вялотекущих разработок в области ИИ - относительно прозрачны и очевидны:

  • Отдельные практические задачи, требующие заглянуть немного за область формального.
  • Инновации по принципу (например, многие развитые страны тратят средства на НИОКР в области информационных технологий, не говоря уже про крупные IT-корпорации, вкладывающиеся в эту сферу).
  • Индустрия развлечений. Возможно, единственная отрасль, которая могла бы получать выгоду с настоящего, полноценного ИИ.
  • Военные структуры. Достаточно мощные двигатели прогресса, но, к сожалению или к счастью - тоже заинтересованные не столько в ИИ, сколько в решении собственных задач.

Отдельное слово можно было бы сказать про военных. Много, очень много научных достижений было сделано в рамках военных заказов / интересов. В число таких достижений входит и освоение космоса, что для моей аналогии "ИИ - Марс" - весьма символично. Символично и то, что военным оказалось достаточно вывода на орбиту спутников, а построение базы на Марсе - им уже не интересно. Ведь контролировать ресурсы Марса - бессмысленно, а контролировать с Марса ресурсы Земли - крайне затруднительно. Так что, пока военным было по пути с мечтами исследователей - все "бурно кипело". Как только интересы разошлись - так и дело зачахло.

Последний аргумент?

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

Аргумент, который я слышал неоднократно от оппонентов, заключается в том, что "Ведь многое уже сделано - распознавание образов, речи, рукописного ввода".

Что-то есть, что-то есть. Согласен. Но это ли серьезные шаги к созданию ИИ? Вот уж сомнительно. Много ли общего между распознаванием рукописного ввода и интеллектуальной системой? Вовсе нет. Более того - все подобные разработки тем практичнее и успешнее, чем более они ориентированы на решение своей конкретной задачи. Применяются ли в них интеллектуальные подходы? Зачастую - да. Нейронные и семантические сети, базы знаний, обучение - не в диковинку. Вот эволюция и функциональные языки - пореже. Но не в этом дело.

Все подобные разработки - во-первых, остановившись на решении своей практической задачи, стараются оптимизироваться (упроститься, более формализоваться), но никак не "поумнеть" в полном смысле слова. Во-вторых - все подобные разработки, которые известны мне, - базируются на упомянутых в начале статьи подходах, но никак не являются самостоятельными прорывными методами. Отсюда и вывод.

А в-третьих - не столь уж все эти разработки и нужны. В принципе - нужны. Некоторые - нужны до такой степени, что даже окупили свою разработку. Некоторые - и того не смогли.

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

  • Набор документов и их элементарная верстка + электронные таблицы - MS Office, Star Office, прочие подобные.
  • GUI & OS-API - Windows, MacOS, UNIX KDE.
  • Сетевые технологии - TCP/IP, FTP, IPX, прочие - Telnet, Norton commander и другие Эксплореры.
  • Гипертекст и веб - HTTP, HTML - веб-сервера и браузеры.
  • MP3 - WinAMP и иже с ними.
  • Mpeg4 / DivX - программные видеоплееры в ассортименте.
  • D3D, OpenGL, DirectX, EAX и прочее - весь ассортимент игр на базе того или иного 3D-API и звуковых технологий.

Список можно было бы и продолжить. Но смысл? Задумываясь над тем, какие решения в наибольшей степени влияют на современный облик компьютера, я очень затрудняюсь выделить хотя бы что-то, содержащее элементы ИИ. Ну, разве что те же игры... но, по правде говоря, не все они вообще содержат интеллект, а те, которые содержат, - с моей точки зрения не вносят значимого вклада в дело создания "рукотворного разума".

Вот и все аргументы.

Не буду подводить итоги и давать окончательный ответ на вопрос. Появится ли искусственный интеллект на Марсе - пусть каждый ответит для себя сам.

Могу лишь добавить, что хотелось бы ошибаться в некоторых из сделанных в статье оценок. Более того, - хотелось бы самому себя и опровергнуть, что я еще попытаюсь сделать не раз. Но удастся ли? Хороший вопрос. Ответ на который, конечно же, не может быть дан по формальным правилам. Остается лишь путь проб и ошибок. Лучший алгоритм не только для построения искусственного интеллекта, но даже для доказательства его возможности - перебор вариантов.

Русин Александр Олегович, 12.08.2008