Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_Final.doc
Скачиваний:
59
Добавлен:
09.11.2019
Размер:
10.39 Mб
Скачать

3.9. Диалекты и языки, используемые для задач искусственного интеллекта

За более чем полувековую историю проблемы искусственного интеллекта были разработаны [7] и используются в настоящее время следующие диалекты языка Пролог: C-Prolog, Quintus Prolog, SKW-Prolog, Arity Prolog, SWI-Prolog [29] и др.

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

Кроме того, хорошим языком программирования задач ИИ зарекомендовал себя язык LISP (LISt Processing), разработанный для символьных вычислений и модифицированный применительно к потребностям разработки интеллектуальных систем. LISP – функциональный язык, синтаксис и семантика которого обусловлены теорией рекурсивных вычислений.

В языке LISP осуществляется обработка списков, аргументами которыми могут быть объекты, их свойства и функции. В свою очередь каждую функцию можно представить списком, среди аргументов которого имеется другая функция. Работа формализма ориентирована на обработку функций. Управляющая структура языка LISP находит среди аргументов списка описание состояния объекта или ситуации и выполняет процедуру, включенную в этот список. Если процедура содержит список, то он сопоставляется с текущей ситуацией. Управляющая структура языка LISP ориентирована на сопоставление с образцом, а модель – на исчисление предикатов.

Контрольные вопросы

        1. Опишите принцип работы инструментального средства, реализующего логическую модель знаний.

        2. Каким образом формируется база знаний Пролог-программы?

        3. Каким образом определяются переменные в Пролог-программе?

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

        5. Как работает в Пролог-программе механизм унификации?

        6. Опишите одни и те же данные в виде списка и структуры данных, укажите основные формы записи списков в Пролог-программе.

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

        8. Поясните организацию вызова из Пролог-программы внешних процедур, написанных на других языках программирования.

4. Организация принятия решений в экспертных системах

4.1. Организация логического вывода в экспертных системах

Продолжим процесс описания представления знаний в системах ИИ.

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

1) прямое доказательство или прямая цепочка логического вывода,

например:

если (А), то (В);

если (В), то (С); ... ; и так далее до получения К,

где К – цель (решение);

2) обратная цепочка логического вывода или доказательство от противного, например, требуется подтвердить факт D:

если (D), то (С);

если (С), то (В);

если (В), то(А).

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

В прямой цепочке логических рассуждений предполагается существование факта A, если существует факт B; существование B, если существует C; C – если D и т.д.

В обратной цепочке логических рассуждений процесс доказательства по существующим фактам выполняется в обратном направлении. Факт C существует при наличии D, B – при C, A – при B.

При организации прямой и обратной цепочек логического вывода запись правила выполняется в каузальной форме, т.е. в виде «если − то». Использование правила определяется контекстом или стратегией.

Рассмотрим составляющие логического вывода подробнее.