Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Язык управления выбором данных
Вторым типом управления является управление данными, которые динамически меняются в процессе вывода. В общем случае это управление состоит в выборе подстановки или порядке обработки данных, что может существенно влиять на результат вывода в системе. Традиционным способом задания стратегии обработки является фиксация типов данных и программирование " вручную" способа их обработки. Такое управление данными называют встроенным. Например, в различных версиях лингвистических процессоров использовались разнообразные встроенные порядки обработки строк: слева направо, справа налево, с возвратом на начало строки, без возврата и их комбинации. Если над обрабатываемыми данными зафиксировано отношение частичного порядка, то примером могут служить переборы в глубину и в ширину. Основной недостаток встроенной стратегии обработки данных состоит в том, что пользователь вынужден настраивать свои предметные знания на заданную стратегию поиска, которая, как правило, не является единственно возможной и единственно оправданной. Более естественным является такой способ описания предметной области, при котором эксперт, не связанный жесткой стратегией, формулирует сначала продукции и лишь после этого — правила обхода структур данных, используя, если необходимо в разных фрагментах данных различные стратегии. Такой способ задания управления данными называют настраиваемым. Он задается в виде лаконичной спецификации на языке управления данными. Неформально язык управления данными аналогичен языку управления применением продукций и состоит в следующем. Для каждого текущего состояния базы данных dr шага вывода r задается подмножество данных , на которых (и только на них) в текущий момент вывода проверяются условия применимости активированных продукций. Такие будем называть активированными данными. Поскольку данные в процессе вывода изменяются (добавляются новые и, возможно, исключаются старые факты), то описать множества статически до начала вывода невозможно, в связи, с чем необходимы средства динамического задания множеств . Будем определять управление данными по некоторому выделенному отношению f0 Î F над термами, которое задает структуру M(dr, f0)Í dr зависящую от текущего состояния dr и f0. В этой структуре между элементами определяется как минимальная длина пути между ними, а пара (центр, радиус), где центр — произвольный элемент структуры, радиус — натуральное число, задает в этой структуре окрестность поиска, содержащую в себе все элементы структуры, расстояние до которых от центра не больше радиуса окрестности. Множество активированных данных составляют те факты из текущего dr, в которые входят термы, принадлежащие окрестности поиска. Окрестность поиска называют иногда " окном активации". Центр и радиус текущей окрестности могут быть заданы явно (точным указанием) либо вычисляться через центр и радиус окрестности, определенные над структурой предыдущего шага вывода. В результате применения продукций формируется dr+1 состояние базы, которое получается из dr добавлением или вычеркиванием некоторых фактов. Рассмотрим вывод в окрестности на некотором произвольном шаге т. Пусть dr — текущее состояние базы данных, Wr — окрестность поиска шага вывода r. Если окрестность не пуста, то в ней проверяются условия применимости активированных продукций шага вывода r. Продукции с истинными условиями применяются, что приводит к состоянию dr+1. Если dr+1 содержит специальный выделенный символ неудачного вывода l, то вывод " зависает". В противном случае и тогда, когда текущая окрестность поиска пуста, происходит формирование Wr+1 окрестности поиска, центр и радиус которой вычисляются через соответствующие компоненты Wr, а активированные данные берутся из текущего dr+1 состояния базы данных. Если Wr+1 содержит специальный выделенный символ конца, то происходит остановка, означающая конец описания стратегии, а полученное состояние базы данных содержит результат, выводимый продукциями из заданного начального состояния по фиксированному порядку обработки данных. Описанные выше языки управления выводом предназначены для двух основных целей. С одной стороны, они являются достаточно простым и лаконичным средством определения требований и спецификации логики поведения систем продукций, с другой — это точки настройки в программных реализациях, дающие основу для построения технологического пакета систем продукций. В рамках этого пакета каждая из точек настройки интерпретируется соответствующим механизмом (особенно на этапе отладки системы), а наиболее часто встречающиеся дисциплины применения продукций и порядки обработки данных встраиваются в технологический пакет в виде стандартных модулей. Спецификация соответствующей формулы вызывает эти модули и собирает необходимую конфигурацию. Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 905; Нарушение авторского права страницы