С самого начала развития вычислительной техники ЭВМ стали использоваться не только для решения вычислительных задач, но и для имитации на них различных процессов, присущих творческой деятельности человека. Уже в 50-х годах были созданы первые программы для игры в такие игры, как «морской бой», «ним», «крестики-нолики», домино, шашки и многие другие. На ЭВМ имитировались процессы доказательства теорем, сочинения простых музыкальных произведений, составления кроссвордов, создания новых орнаментов. С накоплением опыта создания подобных программ приходила уверенность, что ЭВМ в паре с программистом может не хуже человека (а иногда и лучше его) выполнять отдельные процедуры, традиционно относимые к области интеллектуальной деятельности человека.
Но была одна принципиальная особенность, связанная с созданием таких не вычислительных программ в 50-х годах. Каждая такая программа писалась для решения только данной конкретной задачи и никак не увеличивала «интеллектуальный потенциал» ЭВМ. Можно было создать эффективную программу для игры в русские шашки, но ЭВМ не могла воспользоваться навыками, заложенными в ней, при игре в стоклеточные шашки, не говоря о других играх, более далеких от русских шашек.
Прекрасно работающая программа для известной игры в 15 оказывалась абсолютно беспомощной при попытке игры в усеченный вариант этой игры — игру в 5. Ото происходило потому, что в памяти ЭВМ хранились не знания о самой игре или другой области интеллектуальной деятельности (эти знания оставались в голове у программиста), а лишь жесткая процедура, требующая для своей реализации однотипно организованной базы данных, неспособная к адаптации и перестройке.
Становилось ясно, что накопление отдельных программ, каждая из которых жестко ориентирована на решение той или иной конкретной задачи, традиционно относимой к сфере интеллектуальной деятельности человека, мало что дает для развитии теории построения таких программ.
Создание подобной теории должно было опираться на имитацию процедур универсального характера (метапроцедур), с помощью которых можно было бы порождать конкретные процедуры, направленные на решение определенных задач интеллектуального типа. С понимания этого факта и началось развитие того, что получило в дальнейшем название «теория искусственного интеллекта» или просто «искусственный интеллект».
Основной задачей новой теории являлась задача имитации метапроцедур, характерных для человека. Первой программой, созданной в рамках этой теории, явилась программа «Общий решатель задач», созданная в США в 60-х годах. В ее основе лежит метапроцедура, имитирующая поиск по лабиринту возможных альтернатив.
Авторы программы выдвинули тезис, что решение любой задачи человеком состоит в поиске пути, приводящего от начальной площадки некоторого лабиринта, соответствующей исходному описанию ситуации, к некоторой конечной площадке, соответствующей решению этой задачи.
На каждом шаге поиска пути используются локальные критерии успеха, дающие возможность выбора очередного коридора лабиринта. Авторы «Общего решателя задач» вначале были уверены, что с помощью найденной ими метапроцедуры удастся решить все интеллектуальные задачи.
Первыми успешными экспериментами в этом направлении были доказательство теорем исчисления высказываний и игровые программы для решения головоломок типа ханойской башни. Но проверка универсальности метапроцедуры поиска по лабиринту на шахматной программе показала ее авторам, что, основываясь лишь на ней, практически невозможно решить сколько-нибудь серьезную задачу.
Для повышения эффективности «Общего решателя задач» была введена вторая метапроцедура - процедура планирования. Ее задачей было нахождение грубого стратегического плана поиска пути, который затем должен был уточняться при реализации метапроцедуры поиска. Введение планирования улучшило характеристики «Общего решателя задач», но не привело к его универсальности.
Важнейшим выводом из этой пионерской работы в области искусственного интеллекта стал вывод о необходимости поиска и формализации новых метапроцедур, используемых биологическими объектами при решении интеллектуальных задач. Это определило основные направления, составляющие ядро работ в области искусственного интеллекта. Перечислим их.
Проблема представления знаний
В отличие от обычных программ для ЭВМ, представляющих собой формализованную запись некоторой процедуры (процедурального знания, как говорят специалисты в области искусственного интеллекта), интеллектуальные программы должны опираться на знания о проблемной среде, которые хранятся в памяти ЭВМ в виде декларативных знаний.
Только такое разделение знаний на две составляющие способно обеспечить построение конкретных процедур с помощью метапроцедур, работающих над знаниями о той предметной области, которая доступна ЭВМ. Возникают следующие проблемы: как описать знания о внешнем мире, как организовать храпение этих знаний в памяти системы, как эффективно устранять из памяти устаревшие знания и находить требуемые, как проверять непротиворечивость накопленных знаний. Все эти проблемы еще очень далеки от окончательного решения.
Однако уже сегодня ясно, что представление знаний — ключ к созданию эффективных систем искусственного интеллекта. Уже созданы специальные способы описания структурированных знаний — реляционные и фреймовые языки, строятся алгебраические модели для них, например реляционная алгебра Кодда, нащупываются пути пополнения хранимых в системе знаний за счет использования специальных логик, отражающих закономерностей реального мира (к ним относятся временные, пространственные, каузальные, деонтические, эпистемологические и многие другие логики такого типа, теория которых бурно развивается).
В результате этого в области представления знаний возникает система новых метапроцедур, позволяющих формировать при необходимости конкретные процедуры работы со знаниями. Число уже найденных метапроцедур составляет около двух десятков.
Проблема планирования
При построении конкретных процедур решения задач системы искусственного интеллекта должны построить план своей деятельности. В противном случае действия системы будут носить хаотический, нецеленаправленный характер. Поэтому проблема планирования, наряду с проблемой представления знаний, является фундаментальной в области искусственного интеллекта.
В зависимости от языка представления знаний процедуры планирования могут основываться либо на поиске логического вывода, либо на поиске путей заданного типа в некоторых сетевых структурах.
С первой возможностью связано развитие работ в области построения эффективных средств дедуктивного вывода (например, развитие и модификации принципа резолюции, известного в теории логического вывода) и поиск методов и схем, позволяющих строить выводы индуктивного типа (например, по типу схем Милля или процедур, предложенных Пойя).
Со второй возможностью связано развитие работ в области решения комбинаторных проблем на сетях и развитие специальных методов описания сетей для планирования.
Примером последнего является теория сценариев, активно развиваемая в последнее десятилетие в США. Отметим также, что к проблеме планирования относятся и задачи развертывания глобальных целей в подцели, нахождение локальных критериев успеха планирования, использование вероятностных и расплывчатых представлений при планировании, а также прогнозирование допустимости и эффективности плана на базе знаний, хранящихся в модели мира системы.
Проблема общения
Развитие программирования показало, что общение пользователя с ЭВМ — важное звено в эффективности решения задач. Появление развитых диалоговых систем, языков общения и специальных средств редактирования и отладки недвусмысленно говорит об этом. Переход к системам, в памяти которых хранятся не только процедуральные знания, но и декларативные знания, требует нового подхода к проблеме общенния.
Для человека идеальным было бы общение на обычном, естественном языке. Кроме того, естественный язык — это, пожалуй, единственная известная нам на сегодня моделирующая система, средствами которой можно описать многообразный окружающий мир. Отсюда большой интерес специалистов в области искусственного интеллекта к анализу естественного языка как средства для описания действительности и средства коммуникации между человеком и системой.
Основными задачами в этой области являются: синтаксический анализ текстов на естественном языке, переход от языковых представлений к языку описания знаний, понимание вопросов, формирование ответов, интересующих человека, извлечение знаний из текстов на естественном языке.
Проблема организации поведения
Эта проблема, пожалуй, наиболее молода по времени возникновения. Она не возникала, пока специалисты по искусственному интеллекту имели дело с обычной ЭВМ. Будучи простым переработчиком информации, ЭВМ могла имитировать те или иные виды интеллектуальной деятельности, но не обладала прямым контактом с внешней средой.
Однако появление технических устройств, названных роботами, кардинально изменило положение дел. Роботы, в отличие от ЭВМ, действуют в реальной физической среде, перемещаются в ней, воздействуют с помощью эффекторов на объекты среды, получают от среды с помощью рецепторов разнообразную по характеру информацию.
Поведение таких систем в нашем мире не может не интересовать человека и, прежде всего, конструкторов робота. Другими словами, возникает необходимость нахождения и имитации метапроцедур, обеспечивающих с точки зрения человека приемлемое поведение системы искусственного интеллекта.
|