СТРУКТУРА АГЕНТОВ

До сих пор в этой книге свойства агентов рассматривались на основании анализа их поведения — действий, выполняемых агентом после получения любой заданной последовательности актов восприятия. Теперь нам поневоле придется сменить тему
и перейти к описанию того, как организовано их внутреннее функционирование. Задача искусственного интеллекта состоит в разработке программы агента, которая реализует функцию агента, отображая восприятия на действия. Предполагается, что эта программа должна работать в своего рода вычислительном устройстве с физическими датчиками и исполнительными механизмами; в целом эти компоненты именуются в данной книге архитектурой, а структура агента условно обозначается следующей формулой:
Агент = Архитектура + Программа
Очевидно, что выбранная программа должна быть подходящей для этой архитектуры. Например, если в программе осуществляется выработка рекомендаций по выполнению таких действий, как Walk (ходьба), то в архитектуре целесообразно предусмотреть использование опорно-двигательного аппарата. Архитектура может представлять собой обычный персональный компьютер или может быть воплощена в виде роботизированного автомобиля с несколькими бортовыми компьютерами, видеокамерами и другими датчиками. Вообще говоря, архитектура обеспечивает передачу в программу результатов восприятия, полученных от датчиков, выполнение программы и передачу исполнительным механизмам вариантов действий, выбранных программой, по мере их выработки. Основная часть данной книги посвящена проектированию программ агентов, а главы 24 и 25 касаются непосредственно датчиков и исполнительных механизмов.
Программы агентов
Все программы агентов, которые будут разработаны в этой книге, имеют одну и ту же структуру: они принимают от датчиков в качестве входных данных результаты текущего восприятия и возвращают исполнительным механизмам выбранный вариант действия6. Необходимо указать на различие между программой агента, которая принимает в качестве входных данных результаты текущего восприятия, и функцией агента, которая принимает на входе всю историю актов восприятия. Программа агента получает в качестве входных данных только результаты текущего восприятия, поскольку больше ничего не может узнать из своей среды; если действия агента зависят от всей последовательности актов восприятия, то агент должен сам запоминать результаты этих актов восприятия.
Для описания программ агентов будет применяться простой язык псевдокода, который определен в приложении Б. (Оперативный репозитарий кода содержит реализации на реальных языках программирования.) Например, в листинге 2.1 показана довольно несложная программа агента, которая регистрирует последовательность актов восприятия, а затем использует полученную последовательность для доступа по индексу к таблице действий и определения того, что нужно сделать. Таблица явно отображает функцию агента, воплощаемую данной программой агента. Чтобы создать рационального агента таким образом, проектировщики должны сформировать таблицу, которая содержит подходящее действие для любой возможной последовательности актов восприятия.
Листинг 2.1. Программа Table-Driven-Agent, которая вызывается после каждого восприятия новых данных и каждый раз возвращает вариант действия; программа регистрирует последовательность актов восприятия с использованием своей собственной закрытой структуры данных
function Table-Driven-Agent{percept) returns действие action static: percepts, последовательность актов восприятия, первоначально пустая table, таблица действий, индексированная по
последовательностям актов восприятия и полностью заданная с самого начала
добавить результаты восприятия percept к концу
последовательности percepts action Анализ того, почему такой подход к созданию агента, основанный на использовании таблицы, обречен на неудачу, является весьма поучительным. Допустим, что V— множество возможных актов восприятия, а Т— срок существования агента (общее количество актов восприятия, которое может быть им получено). Поисковая таблица будет содержать
Рассмотрим автоматизированное такси: визуальные входные данные от одной телекамеры поступают со скоростью примерно 27 мегабайтов в секунду (30 кадров в секунду, 640x480 пикселов с 24 битами информации о цвете). Согласно этим данным поисковая таблица, рассчитанная на 1 час вождения, должна содержать количество записей, превышающее 10250 000 000 00°. И даже поисковая таблица для шахмат (крошечного, хорошо изученного фрагмента реального мира) имела бы, по меньшей мере, 10150 записей. Ошеломляющий размер этих таблиц (притом что количество атомов в наблюдаемой вселенной не превышает 1080) означает, что, во-первых, ни один физический агент в нашей вселенной не имеет пространства для хранения такой таблицы, во-вторых, проектировщик не сможет найти достаточно времени для создания этой таблицы, в-третьих, ни один агент никогда не сможет обучиться тому, что содержится во всех правильных записях этой таблицы, на основании собственного опыта, и, в-четвертых, даже если среда достаточно проста для того, чтобы можно было создать таблицу приемлемых размеров, все равно у проектировщика нет руководящих сведений о том, как следует заполнять записи подобной таблицы.
Несмотря на все сказанное, программа Table-Driven-Agent выполняет именно то, что от нее требуется: она реализует желаемую функцию агента. Основная сложность, стоящая перед искусственным интеллектом как научным направлением, состоит в том, чтобы узнать, как создавать программы, которые в рамках возможного вырабатывают рациональное поведение с использованием небольшого объема кода, а не большого количества записей таблицы. Существует множество примеров, показывающих, что такая задача может быть выполнена успешно в других областях; например, огромные таблицы квадратных корней, использовавшиеся инженерами и школьниками до 1970-х годов, теперь заменены работающей в электронных калькуляторах программой из пяти строк, в которой применяется метод Ньютона. Вопрос заключается в том, может ли искусственный интеллект сделать для интеллектуального поведения в целом то, что Ньютон сделал для упрощения вычисления квадратных корней? Авторы данной книги полагают, что ответ на этот вопрос является положительным.
В остальной части этого раздела рассматриваются четыре основных вида программ агентов, которые воплощают принципы, лежащие в основе почти всех интеллектуальных систем:
• простые рефлексные агенты;
• рефлексные агенты, основанные на модели;
• агенты, действующие на основе цели;
• агенты, действующие на основе полезности.
Затем приведено описание в общих терминах того, как преобразовать агентов всех этих типов в обучающихся агентов.







Материалы

Яндекс.Метрика