Главная arrow книги arrow Копия Глава 7. Логические агенты arrow Агенты, основанные на знаниях
Агенты, основанные на знаниях

Центральным компонентом любого агента, основанного на знаниях, является его база знаний, или сокращенно KB (Knowledge Base). Неформально базу знаний можно определить как множество высказываний. (Здесь слово "высказывание" используется в качестве формального термина. Смысл этого термина близок, но не идентичен понятию высказывания в английском и других естественных языках.) Каждое высказывание выражено на языке, называемом языком представления знаний, и представляет некоторое утверждение о мире.

Должен существовать определенный способ добавления новых высказываний к базе знаний, а также способ извлечения из этой базы тех знаний, которые в ней содержатся. Стандартными названиями для этих операций являются соответственно Tell и Ask. Обе такие операции могут быть связаны с проведением логического вывода, т.е. могут потребовать получения новых высказываний из старых. В логических агентах, которые служат основной темой исследования данной главы, логический вывод должен подчиняться тому фундаментальному требованию, что ответ на запрос к базе знаний, переданный с помощью операции Ask, должен следовать из того, что было сообщено базе знаний (или точнее, введено с помощью операции Tell) до сих пор. Ниже будет дано более точное определение важного понятия "логического следствия". А на данный момент будем считать, что в соответствии с этим понятием в процессе логического вывода не должны выполняться операции, не подчиняющиеся строгим правилам.

Общая схема программы агента, основанного на знаниях, приведена в листинге 7.1. Как и все агенты, описанные в данной книге, этот агент принимает на входе результаты акта восприятия percept и возвращает действие action. Агент поддерживает базу знаний, кв, которая может первоначально содержать некоторые фоновые знания. После каждого вызова программа агента выполняет три этапа. Во-первых, программа вводит в базу знаний с помощью операции Tell результаты акта восприятия, во-вторых, передает в базу знаний с помощью операции Ask запрос о том, какое действие следует предпринять. В процессе поиска ответа на этот запрос могут быть проведены исчерпывающие рассуждения в отношении текущего состояния мира, результатов возможных последовательностей действий и т.д. В-третьих, агент регистрирует свой выбор с помощью операции Tell и выполняет действие. Вторая операция Tell необходима для передачи в базу знаний информации о том, что гипотетическое действие action действительно было выполнено.