Классы, представленные на рис. 12.2, образуют фундаментдля когнитивных структур данных агента, которые делают агента рациональным. Именно рационализм класса агента отличает его от других типов объектно-ориентированных классов. Рассмотрим объявление класса агента, приведенное в листинге 12.4.
>// Листинг 12.4. Объявление класса agent
>class agent{
>//.. .
>private:
>performance_statement Manager1;
>performance_statement Manager2;
>performance_statement Manager3;
>trip_announcement Trip1;
>trip_announcement Trip2;
>trip_announcement Trip3;
>list TripBeliefs;
>list PerformanceBeliefs;
>public:
>agent(void);
>bool determineVacationAppropriate(void);
>bool scheduleVacation(void);
>void updateBeliefs(void);
>void setGoals(void);
>void displayTravelPlan(void);
>//.. .
>} .
Как и классы предположений, класс агента представляет собой упрощенную версию. Полный листинг объявления класса, который можно было бы использовать на практике, занял бы три или четыре страницы. Но для описательных целей, которые мы преслелуем в этой книге, приведенного вполне достаточно. Итак, класс agent содержит два контейнера-списка.