Рассмотрим агент-пылесос, описанный в предыдущем разделе. Можно было бы предложить измерять показатели производительности по объему мусора, убранного за одну восьмичасовую смену. Но, безусловно, имея дело с рациональным агентом, вы получаете то, что просите. Рациональный агент может максимизировать такой показатель производительности, убирая мусор, затем вываливая весь его на пол, затем снова убирая, и т.д. Поэтому более приемлемые критерии производительности должны вознаграждать агента за то, что пол остается чистым. Например, одно очко могло бы присуждаться за каждый чистый квадрат в каждом интервале времени (возможно, в сочетании со штрафом за потребляемую электроэнергию и создаваемый шум), В качестве общего правила следует указать, что лучше всего разрабатывать показатели производительности в соответствии с тем, чего действительно необходимо добиться в данной среде, а не в соответствии с тем, как, по мнению проектировщика, должен вести себя агент.
Задача выбора показателей производительности не всегда является простой. Например, понятие "чистого пола", которое рассматривалось выше, основано на определении усредненной чистоты пола во времени. Но необходимо также учитывать, что одна и та же усредненная чистота может быть достигнута двумя различными агентами, один из которых постоянно, но неторопливо выполняет свою работу, а другой время от времени энергично занимается очисткой, но делает длинные перерывы. Может показаться, что определение того способа действий, который является в данном случае наиболее предпочтительным, относится к тонкостям домоводства, но фактически это — глубокий философский вопрос с далеко идущими последствиями. Что лучше — бесшабашная жизнь со взлетами и падениями или безопасное, но однообразное существование? Что лучше — экономика, в которой каждый живет в умеренной бедности, или такая экономика, в которой одни ни в чем не нуждаются, а другие еле сводят концы с концами? Оставляем задачу поиска ответов на эти вопросы в качестве упражнения для любознательного читателя.
• Показатели производительности, которые определяют критерии успеха.
• Знания агента о среде, приобретенные ранее.
• Действия, которые могут быть выполнены агентом.
• Последовательность актов восприятия агента, которые произошли до настоящего времени.
С учетом этих факторов можно сформулировать следующее определение рационального агента.
Для каждой возможной последовательности актов восприятия рациональный агент должен выбрать действие, которое, как ожидается, максимизирует его показатели производительности, с учетом фактов, предоставленных данной последовательностью актов восприятия и всех встроенных знаний, которыми обладает агент.
Рассмотрим пример простого агента-пылесоса, который очищает квадрат, если в нем имеется мусор, и переходит в другой квадрат, если мусора в нем нет; результаты частичной табуляции такой функции агента приведены в табл. 2.1. Является ли этот агент рациональным? Ответ на этот вопрос не так уж прост! Вначале необходимо определить, в чем состоят показатели производительности, что известно о среде и какие датчики и исполнительные механизмы имеет агент. Примем перечисленные ниже предположения.• Применяемые показатели производительности предусматривают вознаграждение в одно очко за каждый чистый квадрат в каждом интервале времени в течение "срока существования" агента, состоящего из 1000 интервалов времени.
• "География" среды известна заранее (рис. 2.2), но распределение мусора и первоначальное местонахождение агента не определены. Чистые квадраты остаются чистыми, а всасывание мусора приводит к очистке текущего квадрата. Действия Left и Right приводят к перемещению агента соответственно влево и вправо, за исключением тех случаев, когда они могли бы вывести агента за пределы среды, и в этих случаях агент остается там, где он находится.
• Единственными доступными действиями являются Left, Right, Suck (всосать мусор) и NoOp (ничего не делать).
• Агент правильно определяет свое местонахождение и воспринимает показания датчика, позволяющие узнать, имеется ли мусор в этом местонахождении.
Авторы утверждают, что в этих обстоятельствах агент действительно является рациональным; его ожидаемая производительность, по меньшей мере, не ниже, чем у любых других агентов.
Можно легко обнаружить, что в других обстоятельствах тот же самый агент может стать нерациональным. Например, после того как весь мусор будет очищен, агент станет совершать ненужные периодические перемещения вперед и назад; если показатели производительности предусматривают штраф в одно очко за каждое передвижение в том или ином направлении, то агент не сможет хорошо зарабатывать. В таком случае лучший агент должен был бы ничего не делать до тех пор, пока он уверен в том, что все квадраты остаются чистыми. Если же чистые квадраты могут снова стать грязными, то агент обязан время от времени проводить проверку и снова очищать их по мере необходимости. А если география среды неизвестна, то агенту может потребоваться исследовать ее, а не ограничиваться квадратами А и В.
Этот пример показывает, что рациональность нельзя рассматривать как равнозначную совершенству. Рациональность — это максимизация ожидаемой производительности, а совершенство— максимизация фактической производительности. Отказываясь от стремления к совершенству, мы не только применяем к агентам справедливые критерии, но и учитываем реальность. Дело в том, что если от агента требуют, чтобы он выполнял действия, которые оказываются наилучшими после их совершения, то задача проектирования агента, отвечающего этой спецификации, становится невыполнимой (по крайней мере, до тех пор, пока мы не сможем повысить эффективность машин времени или хрустальных шаров, применяемых гадалками).
Поэтому наше определение рациональности не требует всезнания, ведь рациональный выбор зависит только от последовательности актов восприятия, сформированной к данному моменту. Необходимо также следить за тем, чтобы мы непреднамеренно не позволили бы агенту участвовать в действиях, которые, безусловно, не являются интеллектуальными. Например, если агент не оглядывается влево и вправо, прежде чем пересечь дорогу с интенсивным движением, то полученная им до сих пор последовательность актов восприятия не сможет подсказать, что к нему на большой скорости приближается огромный грузовик. Указывает ли наше определение рациональности, что теперь агент может перейти через дорогу? Отнюдь нет! Во-первых, агент не был бы рациональным, если бы попытался перейти на другую сторону, получив такую неинформативную последовательность актов восприятия: риск несчастного случая при подобной попытке перейти автомагистраль, не оглянувшись, слишком велик. Во-вторых, рациональный агент должен выбрать действие "оглянуться", прежде чем ступить на дорогу, поскольку такой осмотр позволяет максимизировать ожидаемую производительность. Выполнение в целях модификации будущих восприятий определенных действий (иногда называемых сбором информации) составляет важную часть рациональности. Второй пример сбора информации выражается в том исследовании ситуации, которое должно быть предпринято агентом-пылесосом в среде, которая первоначально была для него неизвестной.Наше определение требует, чтобы рациональный агент не только собирал информацию, но также обучался в максимально возможной степени на тех данных, которые он воспринимает. Начальная конфигурация агента может отражать некоторые предварительные знания о среде, но по мере приобретения агентом опыта эти знания могут модифицироваться и пополняться. Существуют крайние случаи, в которых среда полностью известна заранее. В подобных случаях агенту не требуется воспринимать информацию или обучаться; он просто сразу действует правильно. Безусловно, такие агенты являются весьма уязвимыми. Рассмотрим скромного навозного жука. Выкопав гнездо и отложив яйца, он скатывает шарик навоза, набрав его из ближайшей навозной кучи, чтобы заткнуть вход в гнездо. Если шарик навоза будет удален непосредственно перед тем, как жук его схватит, жук продолжает манипулировать им и изображает такую пантомиму, как будто он затыкает гнездо несуществующим шариком навоза, даже не замечая, что этот шарик отсутствует. В результате эволюции поведение этого жука было сформировано на основании определенного предположения, а если это предположение нарушается, то за этим следует безуспешное поведение. Немного более интеллектуальными являются осы-сфексы. Самка сфекса выкапывает норку, выходит из нее, жалит гусеницу и затаскивает ее в норку, затем снова выходит из норки, чтобы проверить, все ли в порядке, вытаскивает гусеницу наружу и откладывает в нее яйца. Гусеница служит в качестве источника питания во время развития яиц. До сих пор все идет хорошо, но если энтомолог переместит гусеницу на несколько дюймов в сторону, пока сфекс выполняет свою проверку, это насекомое снова возвращается к этапу "перетаскивания" своего плана и продолжает выполнять план без изменений, даже после десятков вмешательств в процедуру перемещения гусеницы. Оса-сфекс не способна обучиться действовать в такой ситуации, когда ее врожденный план нарушается, и поэтому не может его изменить.
В успешно действующих агентах задача вычисления функции агента разбивается на три отдельных периода: при проектирования агента некоторые вычисления осуществляются его проектировщиками; дополнительные вычисления агент производит, выбирая одно из своих очередных действий; а по мере того как агент учится на основании опыта, он осуществляет другие вспомогательные вычисления для принятия решения о том, как модифицировать свое поведение.