Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ipk_shpora.docx
Скачиваний:
311
Добавлен:
18.03.2015
Размер:
2.87 Mб
Скачать

33 Прямая цепочка рассуждений. База знаний. Обобщенный алгоритм работы.

Для экспертной системы фондовой биржи можно было бы воспользоваться, например, такими правилами:

10 ЕСЛИ ПРОЦЕНТНЫЕ СТАВКИ – ПАДАЮТ,

ТО УРОВЕНЬ ЦЕН НА БИРЖЕ – РАСТЕТ;

20 ЕСЛИ ПРОЦЕНТНЫЕ СТАВКИ – РАСТУТ,

ТО УРОВЕНЬ ЦЕН НА БИРЖЕ – ПАДАЕТ;

30 ЕСЛИ ВАЛЮТНЫЙ КУРС ДОЛЛАРА ПАДАЕТ,

ТО ПРОЦЕНТНЫЕ СТАВКИ – РАСТУТ;

40 ЕСЛИ ВАЛЮТНЫЙ КУРС ДОЛЛАРА – РАСТЕТ,

ТО ПРОЦЕНТНЫЕ СТАВКИ – ПАДАЮТ.

Предположим, создана фирма, дающая на основе этих правил консультации в области биржевых операций. Пусть первый клиент фирмы сообщил, что валютный курс доллара падает по отношению к основным валютным других стран, и попросил совета. Цель, очевидно, заключается в выборе правильного поведения на бирже, но останется ли при этом клиент в выигрыше, зависит от пока еще не определенных условий. Напомним, что в системе, реализующей прямую цепочку рассуждений, прогнозы выполняются следующим образом: если возникшая ситуация удовлетворяет условной части правила (части ЕСЛИ), делается логический вывод, определенный в констатирующей части (части ТО). Для приведенного примера необходимо, чтобы в условной части какого-либо правила содержалось бы условие:

ВАЛЮТНЫЙ КУРС ДОЛЛАРА ПАДАЕТ.

Такое условие содержится только в правиле 30:

30 ЕСЛИ ВАЛЮТНЫЙ КУРС ДОЛЛАРА – ПАДАЕТ,

ТО ПРОЦЕНТНЫЕ СТАВКИ – РАСТУТ;

В соответствии с этим правилом можно сделать вывод о росте процентных ставок. О ВАЮТНОМ КУРСЕ ДОЛЛАРА упоминается еще в правиле 40. Но условие, записанное в этом правиле,

40 ЕСЛИ ВАЛЮТНЫЙ КУРС ДОЛЛАРА – РАСТЕТ

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

ПРОЦЕНТНЫЕ СТАВКИ – РАСТУТ.

Необходимо проверить, не приведет ли она к другим выводам. Видно, что в правиле 10:

10 ЕСЛИ ПРОЦЕНТНЫЕ СТАВКИ – ПАДАЮТ,

ТО УРОВЕНЬ ЦЕН НА БИРЖЕ – РАСТЕТ;

подходящего условия нет, а в правиле 20:

20 ЕСЛИ ПРОЦЕНТНЫЕ СТАКИ – РАСТУТ,

ТО УРОВЕНЬ ЦЕН НА БИРЖЕ – ПАДАЕТ;

есть. Возникает новая ситуация:

УРОВЕНЬ ЦЕН НА БИРЖЕ – ПАДАЕТ

и рассуждения продолжаются.

Еще раз выполняется проверка всех правил, но ни в одном правиле в условной части не упоминается УРОВЕНЬ ЦЕН НА БИРЖЕ, и на этом рассуждения заканчиваются. Клиенту можно сказать следующее: «Когда обменный курс доллара падает, растут процентные ставки и уровень цен на бирже падает».

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

Рассмотренный пример иллюстрирует работу типичной системы прямых рассуждений:

1.Система содержит описание ряда ситуаций.

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

3.В соответствии с констатирующей частью (частью ТО) каждое правило может генерировать новые ситуации, которые добавляются к уже существующим.

4.Система обрабатывает каждую вновь сгенерированную ситуацию. При наличии хотя бы одной такой ситуации выполняются действия, начиная с пункта 2. Рассуждения заканчиваются, когда больше нет необработанных ситуаций.

База знаний

Покажем на примере, как эксперт может вводить правила непосредственно в базу знаний и использовать их для принятия решений во время биржевых операций. Все необходимые для работы переменные сведем в табл. 13.1. Применяя содержащиеся в таблице переменные, относящиеся к фондовой бирже, правила можно записать следующим образом:

10 ЕСЛИ INTEREST – ПАДАЕТ,

ТО STOCK – РАСТЕТ;

20 ЕСЛИ INTEREST – РАСТЕТ,

ТО STOCK – ПАДАЕТ;

30 ЕСЛИ DOLLAR – ПАДАЕТ,

ТО INTEREST – РАСТЕТ;

40 ЕСЛИ DOLLAR – РАСТЕТ,

INTEREST – ПАДАЕТ;

50 ЕСЛИ FEDINT – ПАДАЕТ И FEDMON – ДОБАВИТЬ,

ТО INTEREST – ПАДАЕТ;

Таблица 13.1.

Таблица имён переменных

Имя переменной

Значение

INTEREST

Изменение процентных ставок (рост или падение)

DOLLAR

Валютный курс доллара

FEDINT

Процентные ставки федерального резерва

FEDMON

Обращение денег федерального резерва (т.е. добавление или изъятие резервов)

STOCK

Изменение уровня цен на бирже

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

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

1. Определить исходное состояние.

2. Занести переменную условия в очередь переменных логического вывода, а её значение – в список переменных.

3. Просмотреть список переменных и найти ту переменную, имя которой стоит в начале очереди переменных логического вывода. Если переменная найдена, записать в указатель переменных условия номер правила и число 1. Если переменная не найдена, перейти к шагу 6.

4. Присвоить значения не проинициализированным переменным условной части найденного правила (если такие есть). Имена переменных содержатся в списке переменных условия. Проверить все условия правила и в случае их истинности обратиться к части ТО правила.

5. Присвоить значение переменной, входящей в часть ТО правила, и поместить её в конец очереди переменных логического вывода.

6. Удалить переменную, стоящую в начале очереди переменных логического вывода, если она больше не встречается в условной части какого-либо правила.

7. Закончить процесс рассуждения, как только опустеет очередь переменных логического вывода. Если же в очереди есть ещё переменные, вернуться к шагу 3.

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

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