Отправляет email-рассылки с помощью сервиса Sendsay

Экспертная система

  Все выпуски  

Экспертная система


 

 

 


Язык описания правил
Язык описания правил – один из важных характеристик экспертной системы, так как от него зависит возможность эффективной реализации машины вывода. Красивые сложные конструкции могут работать слишком медленно и быть слишком непонятными при разработке базы знаний. Простые языковые конструкции могут требовать слишком большого количества текста для описания элементарных действий. Поэтому выбор возможностей языка, его синтаксиса и семантики – это всегда набор компромиссов.
Язык предназначен для описания правил – этим объясняется, что это должен быть не обычный язык программирования, а ориентированный на правила, должен делать запись правила более прозрачной и читаемой. Текст правил должен быть максимально самодокументируемым, то есть не требовать больших комментариев поясняющих смысл проверок или присваиваний. Поэтому в основу была положена новая интересная концепция наименования переменных.
 
Переменные
Для обозначения переменных в языках программирования используются идентификаторы: последовательность букв или чисел (может знак подчеркивания), начинающаяся с буквы, имеющая ограниченную длину. Как правило используются латинские буквы, и запись может быть чувствительна или нет к регистру. Для придания буквам идентификаторов большей семантической значимости используют правила наименования и договоренности о различных сокращениях. У нас изначально решена проблема значимости наименования – вместо идентификатора используется любая текстовая строка, как для переменных так и для их значений. Текст строки нечувствителен к регистру, но в качестве названия переменной во внутреннем представлении используется форма записи первой встреченной переменной (а при использовании автоматической генерации текста можно легко получить одинаковую форму записи для всех переменных во всем тексте). Конечно, при такой записи названий переменных несколько неудобно записывать арифметические выражения, но цель языка – наглядно описывать логику взаимосвязи переменных, а арифметические выражения использовать эпизодически, там где они так же описывают взаимозависимоть. Поэтому такое наименование переменных должно быть полезным. Кроме того, никто не мешает использовать общепринятые сокращения – в химических или медицинских приложениях, или использовать сокращенную запись для внутренних рабочих переменных. Но нужно не забывать, что одна из задач – самодокументирование и прозрачность текстов, удобство отладки и работы для разных людей, поэтому более значимые обозначения являются более предпочтительными.
Значения переменных – преимущественно такие же текстовые строки. Переменная от значения отличается позиционированием: если строка в левой части равенства, то это переменная, если в правой – то значение. Например, «машина» может быть и переменной и значением
«клиент владеет»= «машина»
«машина»= «красная»
при этом это будут две разные «машины».
 
продолжение следует.
 

 


 

 Если Вас интересует дополнительная информация   - пишите leko@lekala.info нам.

Посетите наш сайт www.lekala.info


В избранное