Положение в области баз знаний таково, что следует говорить о наступлении периода создания промышленных образцов подобных систем. Эти системы реализуются либо чисто программно, либо программно-аппаратными средствами, получившими название машин баз знаний. В стандартный набор процедур, образующих базу знаний, входят процедуры ввода и кодировки информации, процедуры проверки введенной информации на непротиворечивость с ранее записанной информацией, процедуры корректировки знаний, процедуры пополнения знаний, подобные тем, которые мы упоминали в связи с описанием уровней понимания, процедуры реализации вопросно-ответного отношения. В ближайшем будущем к этим процедурам будут добавлены средства для диалогового взаимодействия инженера по знаниям с экспертом – специалистом в некоторой проблемной области, с помощью которых станет возможным «добывать знания» у эксперта. Способы реализации перечисленных процедур описаны в [36-39].
Представление знаний требует разработки специальных языковых средств, ориентированных на описание знаний и манипулирование ими. Обычные языки программирования, ориентированные на запись и реализацию процедур, плохо подходят для баз знаний. Первые попытки строить языки, специально предназначенные для баз знаний (ФРЛ, КРЛ, ОПС-5 и др.) выявили ряд трудностей, которые стоят на пути созданий эффективных средств для работы со знаниями. Так одной из причин неудач первого этапа японского проекта ЭВМ пятого поколения была плохая совместимость языков представления знаний в базах знаний с языками логического программирования, используемыми в решателях.
|
|
В настоящее время можно считать, что спор о достоинствах и недостатках языков декларативного и процедурного типов, основанных на фреймах н продукциях, разрешился полюбовно. Стало ясно, что хорошие языки представления знаний и манипулирования ими должны иметь достаточно богатые возможности как для декларативных описаний, так и дли описания процедур. Примером такого смешанного языка может служить фреймовый язык, у которого в качестве значений слотов могут выступать отдельные продукции или имена присоединенных процедур. Именно по этому пути идут сейчас все разработчики ЭВМ новых поколении.