НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

Роль программирования

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

С программами легко экспериментировать

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

Программирование привело к новым эффективным приемам представления знаний

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

У меня нет ни одной процедуры, пригодной для этого. Давай произведем загрузку заново и проследим все сначала.

Эти чудаки зациклились.

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

Реализация в виде программ приучает к строгости

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

Работающие программы указывают на требуемые мощности по обработке информации, характерные для выполняемой задачи

При размышлении о характере мышления человека или при формировании теории было бы опасно исходить из достаточно хорошо работающих программ. Однако по меньшей мере такие программы дают нам верхнюю оценку того, что требуется для выполнения рассматриваемой задачи. Это может быть количество известных фактов, строк в программе для ЭВМ, требуемого объема памяти в машинных словах или других мерах, которые, может быть, не каждому покажутся относящимися к делу и осмысленными. И все эти границы являются границами до тех пор, пока не будут предложены другие, более емкие, но столь же точные и строгие меры для объема обработки информации, а до этого времени они остаются единственной мерой, которая что-то говорит о внутренней сложности данной задачи. Разумеется, программы, составленные одним программистом, могут оказаться вдвое компактнее программ, написанных другим, так же как один язык использует больший объем машинной памяти, чем другой, но это различие несущественно. Общее состояние нашего уровня понимания интеллекта делает числа с большим разбросом вполне приемлемыми.

Программы могут быть кристально ясным, четким описанием теорий

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

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

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

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь