Лекция: Программы агентов

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

Анализ того, почему такой подход к созданию агента, основанный на использо­вании таблицы, обречен на неудачу, является весьма поучительным. Допустим, что Р — множество возможных актов восприятия, а Т — срок существования агента (общее количество актов восприятия, которое может быть им получено). Поисковая таблица будет содержать:

T

Σ |P|t записей.

t=l

Рассмотрим автоматизированное такси: визуальные входные данные от одной теле­камеры поступают со скоростью примерно 27 мегабайтов в секунду (30 кадров в се­кунду, 640х480 пикселов с 24 битами информации о цвете). Согласно этим данным поисковая таблица, рассчитанная на 1 час вождения, должна содержать количество записей, превышающее 10 250 000 000 000.

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

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

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

· простые рефлексные агенты;

· рефлексные агенты, основанные на модели;

· агенты, действующие на основе цели;

· агенты, действующие на основе полезности.

Затем приведено описание в общих терминах того, как преобразовать агентов

всех этих типов в обучающихся агентов.

 

еще рефераты
Еще работы по информатике