Счетчики








2.1. Зачем нужны альтернативные подходы

Интегральная теория создания ИИ

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

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

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

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

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

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

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

Пока все множества и правила конечны, все работает прекрасно. Но рассмотрим предельный случай, когда мощности указанных множеств (то есть число их элементов) бесконечны. Что тогда мы будем иметь? Теоретически вроде бы ничего существенного не происходит - скажем, правило переработки типа y=x+1 будет выполняться одинаково вне зависимости от того, бесконечно количество чисел x или нет. Но вот на практике все далеко не так гладко. Алгоритм должен кто-то выполнять. Обычно этим занимается компьютер - конечная система. В результате чего возникает ограничение на x и y. Очевидно, что все эти соображения легко переносятся с простых формул на более сложные правила начала, переработки и окончания. Так что никакой бесконечностью на практике и не пахнет.

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

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

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

newpoisk.narod.ru, 21 марта 2005 года