Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

8387

.pdf
Скачиваний:
0
Добавлен:
24.11.2023
Размер:
1.58 Mб
Скачать

Использование процедур

В традиционных языках программирования при вызове модуля или процедуры используется имя процедуры. При разработке систем искусственного интеллекта выбор модуля осуществляется на основе текущего состояния проблемной области.

Совокупность правил, реализованных в управляющей структуре в соответствии с алгоритмом на основе исходной структуры данных, выполняется процедурами различного вида:

семантического и синтаксического контроля; моделирования;

обработки и изменения структур данных и сред их сопровождения; поиска решений.

Экспертная система должна выполнять процедуры, позволяющие реализовать процессы таким же образом, как это делает человек при использовании собственного опыта экспертных знаний и рассуждений. Важной особенностью является способность вырабатывать грамотные решения, опираясь на явно неполный или противоречивый набор данных. Таким образом, в полноценной ЭС должны быть реализованы процедуры обработки неопределенностей.

Представление неопределенности в информационных приложениях с базами

знаний

Неопределенность

 

Неопределенность можно определить как

 

степень соответствия процесса или состояния характеристикам реального мира.

Неполнота

Недостоверность

Для исключения семантической неопределенности слов используются вероятностные характеристики и аппарат нечетких множеств.

Неопределенность

Неопределенность смысла

смысла слова

фраз

 

Неточное и размытое

Синтаксическая

Синтаксическая

понятие и отношения

неопределенность

неопределенность

( далеко, близко,

( искажения

( содержание,

рядом и т.д.)

гра мматической

контекст)

 

фразы)

 

Неопределенность смысла фраз идентифицируется с использованием лингвистического анализатора текста, причем отдельно анализируется синтаксическая неопределенность и семантическая.

Оценка семантической составляющей неопределенности может быть получена с помощью вероятностных показателей различного рода, коэффициентов уверенности

и мощности правил в методе редукции, введения интервалов значений и вероятностей попадания в заданный интервал, использованием формулы Байеса, использованием лингвистических переменных, использованием переменных неопределенности и др.

Инструментальная оболочка разработки экспертных систем CLIPS

CLIPS (С Language Integrated

Production System)

1.Общие сведения о CLIPS

Первая версия инструментальной оболочки CLIPS была разработана весной 1985 г. Особое внимание было уделено созданию инструмента, совместимого с известными системами искусственного интеллекта. Таким образом, синтаксис CLIPS очень близок к синтаксису подмножества С. CLIPS является одним из распространенных инструментальных средств разработки экспертных систем. В оболочке реализуется продукционная модель знаний. В основе разработки - три компонента: список фактов, база знаний в виде правил, блок логического вывода. Система полностью реализована на С. Кроме процедурной,

поддерживает

и

объектно-ориентированную

парадигму

программирования.

Аспекты

объектно-ориентированного

программирования в пособии не рассматриваются. Из-за мобильности, расширяемости, широты возможностей CLIPS получила широкое распространение и в правительстве, промышленности, и университетах. Всем желающим доступен как сам CLIPS последней версии, так и его исходные коды. CLIPS состоит из интерактивной среды – ЭО со своим способом представления знаний, гибкого языка и нескольких вспомогательных инструментов.

2.Представление знаний

В системе CLIPS одной из основных форм представления информации являются факты. Каждый факт представляет фрагмент информации, который был помещен в текущий список фактов, называемый fact-list. Факт представляет собой основную единицу данных, используемую правилами.

Одним из основных методов представления знаний в CLIPS являются правила. Правила используются для представления эвристик, определяющих ряд действий, которые необходимо выполнить в определенной ситуации. Разработчик экспертной системы определяет совокупность правил, которые используются совместно для решения проблемы. Правило состоит из двух частей: антицедента (условия), который является аналогом условия в if-then операторе и записывается слева, и консеквента (заключения), который является аналогом then части этого оператора и записывается справа.

3.Логический вывод

CLIPS включает язык представления порождающих правил

иязык описания процедур. Основными компонентами языка описания правил являются база фактов (fact base) и база правил (rule base). На них возлагаются следующие функции:

база фактов представляет собой исходное состояние проблемы;

база правил содержит операторы, которые преобразуют состояние проблемы, приводя его к решению.

Машина логического вывода CLIPS сопоставляет эти факты

иправила и выясняет, какие из правил можно активизировать. Это выполняется циклически, причем каждый цикл состоит из трех шагов:

1.сопоставление фактов и правил;

2.выбор правила, подлежащего активизации;

3.выполнение действий, предписанных правилом.

Такой трехшаговый циклический процесс иногда называют «циклом распознавание – действие»

4.Программирование в CLIPS

4.1.Основные элементы программирования.

CLIPS предоставляет три основных элемента для написания программ:

простые типы данных;

функции для манипулирования данными;

конструкции для пополнения базы знаний.

Простые типы данных

Для представления информации в CLIPS предусмотрено восемь простых типов данных: float, integer, symbol, string, external-address, instance-name и instance-address.

Для представления числовой информации используются типы float и integer, символьной - symbol и string.

При записи числа могут использоваться только цифры (0-9), десятичная точка (.), знак (+) или (-) и (е) при экспоненциальном представлении. Число сохраняется либо как целое, либо как действительное. Любое число, состоящее только из цифр, перед которыми может стоять знак, сохраняется как целое.

Функции

Под функцией в CLIPS понимается фрагмент исполняемого кода, с которым связано уникальное имя и который возвращает полезное значение или имеет полезный побочный эффект (например, вывод информации на экран).

Существует несколько типов функций. Пользовательские и системные функции - это фрагменты кода, написанные на внешних языках (например, на С) и связанные со средой CLIPS. Системными называются те функции, которые были определены изначально внутри среды CLIPS.

Хотя CLIPS и не ориентирована на вычислительные операции, в ней предусмотрен ряд стандартных арифметических и математических функций.

Функции

Конструкция deffunction позволяет пользователю определять новые функции непосредственно в среде CLIPS с использованием синтаксиса CLIPS. Функции, определенные таким образом, выглядят и работают подобно остальным функциям, однако они выполняются не напрямую, а интерпретируются средой CLIPS.

Вызовы функций в CLIPS имеют префиксную форму: аргументы функции могут стоять только после ее названия. Вызов функции начинается с открывающейся скобки, за которой следует имя функции, затем идут аргументы, каждый из которых отделен одним или несколькими пробелами. Аргументами функции могут быть данные простых типов, переменные или вызовы других функций. В конце вызова ставится закрывающаяся скобка.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]