Представление знаний и структуры данных

На этой стадии нужно выбрать ЯПЗ, полнота которого достаточна для представления окружающей среды игрового мира. Кроме того, этот ЯПЗ должен быть гибким, расширяемым и обладать необходимой эффективностью.
Однако выбор ЯПЗ — это только одна часть формализации, поскольку нам не нужно забывать о низкоуровневом представлении получаемых структур на языке C++. Здесь мы имеем дело с задачей, которую можно отнести к категории задач, связанных с проектированием структур данных. Как показано в табл. 9.1, данные могут бьггь представлены с помощью базовых типов (int, float, bool, char), сложных типов (std: : vector, std: :map, std: :list) ИЛИ даже с помощью каких-то экзотических типов (boost:: any).
Для моделирования с использованием более сложных конструкций ЯПЗ (фреймов или концептуальных графов) требуется достаточно хорошее знание языка C++ (как минимум, основ объектно-ориентированного программирования).