- •Содержание
- •Введение
- •Глава 1. Основные понятия
- •1.1. Понятие об искусственном интеллекте
- •1.1.1. Точка зрения Петрунина.
- •1.1.2. Интеллектуальные алгоритмы.
- •1.2. Основные направления исследования в области ии
- •1.3. Данные и знания. Основные модели представления знаний
- •Глава 2. Логические модели представления знаний
- •2.1. Логика высказываний
- •2.1.1. Булева алгебра.
- •2.1.2. Понятие о логическом следствии.
- •2.1.3. Метод резолюции в лв.
- •Имеет место теорема о полноте резолютивного вывода. Множество клозов противоречиво тогда и только тогда, когда из него методом резолюции можно вывести пустой клоз.
- •2.2. Логика предикатов первого порядка
- •2.2.1. Основные определения.
- •2.2.2. Метод резолюции в лппп.
- •2.2.3. Стратегии проведения резолюции.
- •2.2.4. Упорядоченный линейный вывод в лппп.
- •2.2.5.Применение поиска в пространстве состояний при реализации автоматизированного логического вывода.
- •2.2.6. Логический вывод на хорновских дизъюнктах.
- •Понятие экспертной системы и применение логического вывода при построении экспертных систем.
- •2.2.9. Запросы класса b.
- •2.2.10. Запросы класса c.
- •2.3. Понятие о нечетком выводе
- •2.4. Неклассические логики
- •2.4.1. Логики высших порядков.
- •2.4.2. Модальные логики.
- •2.4.3. Многозначные логики.
- •Глава 3. Продукционные модели представления знаний
- •3.1. Основные понятия
- •3.2. Стратегии управления
- •3.2.1. Поиск с возвратом.
- •3.2.2. Поиск в пространстве состояний.
- •3.3. Понятие о коммутативных системах продукций
- •3.4. Понятие о нечетком выводе на продукциях
- •3.5. Сравнение продукционных и логических моделей
- •Глава 4. Реляционные языки представления знаний
- •4.1. Основные элементы естественных языков
- •4.2. Дескрипторные модели
- •4.2.1. Понятие об ипс.
- •4.2.2. Линейная модель работы ипс.
- •4.2.3. Понятие о многоуровневом поиске.
- •4.2.4. Основные характеристики ипс.
- •4.4. Синтагматические цепи
- •4.4.1. Понятие синтагматических цепей.
- •4.4.2. Фреймы.
- •4.5. Сетевые модели представления знаний
- •4.5.1. Понятие семантической сети.
- •4.5.2. Структура интеллектуальной системы доступа к данным на основе семантической сети.
- •4.5.3. Задача поиска кратчайшего обхода образца в семантической сети.
- •4.5.4. Понятие о логическом выводе на семантических сетях.
- •Глава 5. Нейронные сети
- •5.1. Параллели из биологии
- •5.2. Базовая искусственная модель
- •5.3. Применение нейронных сетей
- •5.4. Обучение сети
- •Глава 6. Организация диалога с эвм на естественном языке
- •6.1. Элементы теории формальных языков
- •6.2. Обратная польская запись
- •6.3. Недостатки применения аппарата формальных грамматик
- •6.4. Элементы семиотики
- •6.5. Модель непосредственных составляющих
- •6.6. Многозначность в естественных языках
- •6.7. Расширенные сети переходов
- •6.8. Глубинные (семантические) падежи
- •Глава 7. Логическое программирование на языке пролог
- •7.1. Основные понятия в языке Пролог
- •7.2. Пакет Turbo Prolog
- •7.3. Структура программы
- •7.4. Поиск решений
- •7.5. Механизм отката
- •7.6. Операторы. Декларативный и процедурный смысл программы
- •7.7. Повторение и рекурсия
- •7.8. Повторение и откат
- •7.8.1. Метод отката после неудачи (опн).
- •7.8.2. Метод отсечения и отката (оо).
- •7.8.3. Метод повтора, определенный пользователем.
- •7.9. Методы организации рекурсии
- •7.10. Отладка программы и обнаружение ошибок
- •7.11. Графика в Turbo Prolog’е
- •7.11.1 Создание меню.
- •7.11.2. Создание графического режима.
- •7.11.3. Черепашья графика
- •7.12. Списки и их использование
- •7.12.1. Использование списка.
- •7.12.2. Поиск элементов в списке.
- •7.12.3. Создание нового списка путем слияния двух списков
- •7.12.3. Разделение на два списка.
- •7.13. Сортировки
- •7.13.1. Наивная сортировка.
- •7.13.2. Сортировка включением.
- •7.13.3. Метод «пузырька».
- •7.13.4. Быстрая сортировка.
- •7.14. Компоновка данных из базы в список
- •7.15. Работа с символами и строками
- •7.16. Специальные строки
- •7.17. Работа с файлами
- •7.18. Создание динамических баз данных
- •7.19. Библиотеки Turbo Prolog’а
- •7.19. Модульное программирование
- •7.20. Решение задачи о волке, козе и капусте
- •Глава 8. Введение в язык лисп
- •8.1. Основные особенности языка Лисп
- •8.2. Понятия языка Лисп
- •8.2.1 Атомы и списки.
- •8.2.2 . Внутреннее представление списка.
- •8.2.3 .Написание программы на Лиспе.
- •8.2.4. Определение функций.
- •8.2.5. Рекурсия и итерация.
- •В) maplist. Эта функция действует подобно mapcar, но действия осуществляет не над элементами списка, а над последовательными cdr этого списка.
- •8.2.6 . Функции интерпретации выражения.
- •8.2.7. Макросредства.
- •8.2.8. Функции ввода-вывода.
- •Список используемых источников
- •Перечень используемых сокращений
4.2.3. Понятие о многоуровневом поиске.
Основной причиной отсутствия возможностей применения линейной модели в крупных ИПС является очень большое количество понятий в естественных языках, вследствие чего матрицы разрастаются до таких размеров, что мощности ЭВМ не хватает, чтобы выполнять их обработку. В связи с этим на практике в универсальных ИПС применяются различные варианты многоуровневого поиска.
Для двухуровневого случая выбираются группы похожих документов с помощью неприведенной матрицы D и создаются описание для групп документов. А внутри каждой группы уже описывается сам документ. Поиск осуществляется в 2 этапа: сначала ищется нужная группа документов, а затем внутри этой группы сам документ. Очевидно, что уровней иерархии может быть сколько угодно, различными могут быть и принципы разделения на группы.
4.2.4. Основные характеристики ипс.
Основными характеристиками ИПС являются полнота и точность поиска.
Полнота поиска выражается отношением
,
где С – число подходящих документов, R – число таковых документов, выданное системой.
Точностью поиска называется отношение
. ,
где L – число документов, выданных системой, а K – число таковых документов, действительно соответствующих запросу.
На практике полнота, как правило, обратно пропорциональна точности.
4.3. RX-коды
Основный недостаток дескрипторных моделей – ложная координация дескрипторов. В языке RX-кодов помимо понятий отражается и часть отношений между ними – так называемые парадигмастические отношения, т.е. отношения, существующие всегда. Описание на языке RX-кодов выглядит так:
xn=R1x1….Rnxn-1,
где xn – описываемое понятие, x1…xn-1 – некоторые другие понятия, каждое из которых представляет собой описание такого же типа или базовое понятие, задаваемое набором дескрипторов, а R1…..Rn-1 – отношения, связанные с соответствующими понятиями.
Пример. Имеются отношения: R1 – элемент класса, R2 – включать в качестве элемента, R3 – использовать свойства, R4 – давать. Имеются также элементарные понятия: x1 – летательный аппарат, x2 – аэродинамическая сила, x3 – силовая установка, x4 – тяга, x5 – поверхность, x6 – подъемная сила.
Тогда можно описать следующие понятия: x7 – летательный аппарат тяжелее воздуха, x8 – двигатель, создающий тягу, х9 – крыло, x10 – самолет:
x7= R1x1R3x2,
x8=R1x3R4x4,
x9=R1x5R4x6,
x10=R1x7R2x6R3x9=R1(R1x1R3x2)R2(R1x3R4x4)R3(R1x5R4x6).
Описания на языке RX-кодов удобно представлять в виде графа
//рисунок
К основным недостаткам модели обычно относят:
-
сложность написания запросов (по сравнению с дескрипторными моделями);
-
более сложные и более медленные алгоритмы поиска.
4.4. Синтагматические цепи
4.4.1. Понятие синтагматических цепей.
В этой модели отражаются понятия и отношения (причем не только парадигмастические, но и меняющиеся со временем). Это позволяет описывать не только понятия, но и конкретные ситуации.
Синтагмой назовем выражение вида (x r y), где x, y – понятия или имена (понятия определяют целые классы объектов, а имена – конкретные экземпляры). r – отношение между понятиями или именами x и y. Понятия могут быть элементарными (первичными) или представлять собой другие синтагмы, образуя вложенность.
Пример. Опишем ситуацию. Автомобиль Волга с номером A364/70Rus движется по направлению к городу Томску.
Имеем четыре понятия: x1 – автомобиль, x2 – марка автомобиля, x3 – город, x4 – «Волга», два имени: i1 – A364/70RUS, i2 – Томск. А также четыре отношения: r1 – иметь имя, r2 – иметь признак, r3 – иметь значение, r4 – двигаться к.
Описание: Y1=((x1 r1 i1)r2(x2 r3 x4))r4(x3 r1 i2)
Синтагму можно представить в виде графа:
//рисунок графа синтагматической цепи (8)
Примечание. Любое отношение в естественном языке имеет обратное к себе, причем оба эти отношения имеют один и тот же смысл. Например, для отношения иметь имя, обратное – быть именем. Ориентация отношений чисто субъективный вопрос, однако она связана с формулировкой отношения.
В синтагматической цепи допустимо использование логических связок.
Пример. К городу Томску движется автомобиль Нива некрасного цвета. Вводим дополнительные понятия: x5 – Нива, x6 – цвет, x7 – красный.
Тогда ситуация Y2=((x1 r2 (x2 r3 x5)) r2 (x6 r3 x7)) r4 (x3 r1 i2).
Автомобиль Нива движется движется навстречу автомобилю №A364/70RUS: Вводим новое отношение R5 – двигаться навстречу.
Тогда ситуация Y3=(x1 r2 (x2 r3 x5)) r5 (x1 r1 i1)
Полностью ситуация, представленная в трех примерах описывается следующим образом: Y=Y1Y2Y3.
Можно также использовать и квантификаторы.
Пример. Почти всегда автомобиль, следующий из Томска в Кемерово, проезжает через Юргу.
Вводим квантификатор (9) - почти всегда, имена: i3 – Тайга, i4 – Кемерово, отношения r6 – через, r7 – из.
Y4=?(((x1 r7 (x3 r1 i2)) r4 (x3 r1 i4)) r6 (x3 r1 i3))
Примечание. В синтагматических цепях можно описать все элементы естественного языка, таким образом, это полный реляционный язык, соответственно дескрипторные языки и RX-коды не полны.