- •1 Общая характеристика дисциплины
- •1.1 Значение дисциплины ии
- •1.2 Понятие "искусственный интеллект"
- •1.3 Краткая история развития ии
- •1.4 Классификация систем ии
- •Представления знаний - центральная проблема ии.
- •Компьютерной лингвистики, решение которой обеспечивает процесс естественно- языкового общения с эвм и процесс автомтического перевода с иностранных языков.
- •Компьютерной логики, имеющей особо важное значение для развития экспертных систем, поскольку ее цель – моделирование человеческих рассуждений.
- •1.5 Основные направления развития ии
- •2Языки систем искусственного интеллекта
- •2.1 Общие сведения о языках сии
- •2.2 Язык лисп
- •2.2.1 Алфавит
- •2.2.2 Атомы и точечные пары
- •2.2.3 Списки
- •2.2.4 Арифметические функции языка лисп
- •2.2.5 Функции setq и quote
- •2.2.6 Функции car и cdr
- •2.2.7 Композиция функций саr и cdr.
- •2.2.8 Пустой список
- •2.2.9 Функция cons
- •2.2.10 Логические значения и предикаты
- •2.2.11 Предикаты атом и eq
- •2.2.12 Предикат null
- •2.2.13 Предикаты, классифицирующие атомы
- •2.2.14 Арифметические предикаты сравнения
- •2.2.15 Операции над строками битов
- •2.2.16 Функция cond
- •2.2.17 Определяющее выражение функции
- •2.2.18 Определяемые функции
- •2.2.19 Рекурсивные функции
- •2.2.20 Prog- механизм.
- •2.3 Обращение (инверсия) списков
- •2.4 Вычисление факториала числа
- •2.5 Вычисление длины списка
- •2.6 Вычисление длины списка и его подсписков
- •2.7 Соединение списков
- •2.8 Удаление элемента из списка
- •2.9 Функция, вычисляющая список общих элементов двух списков
- •2.10 Функция, объединяющая два списка и не включающая повторяющиеся элементы
- •2.11 Ассоциативные списки
- •2.12 Функции, изменяющие значения указателей
- •2.13 Функции read и print
- •2.14 Функция eval
- •3 Представление задач и поиск решений
- •3.1 Представление задач в пространстве состояний
- •3.2 Сведение задачи к подзадачам
- •3.3Представление задач в виде доказательства теорем
- •3.4 Поиск решения в пространстве состояний
- •3.5 Алгоритм поиска в ширину
- •3.6 Алгоритм поиска в глубину
- •3.7Алгоритм равных цен
- •3.8 Алгоритмы эвристического (упорядочного) поиска
- •3.9 Поиск решения задачи, при сведении задачи к подзадачам
- •3.10 Представление знаний
- •3.10.1 Продукционные системы
- •3.10.2Семантические сети
- •3.10.3 Представление знаний фреймами
- •3.11 Сопоставление с образцом
- •3.11.1 Функции Mapcad, Apply и Funcall
- •3.11.2 Свойства Атомов
- •3.11.3 Функция сопоставления с образцом
- •3.11.4 Присваивание значений при сопоставлении с образцом
- •3.11.5 Функции Explope, Compress, AtomCar, AtomCdr
- •3.11.6 Задание ограничений при сопоставлении с образцом
- •3.12 Программная реализация лисп - машин
- •3.12.1 Структура памяти лисп - машины
- •3.12.2 Диалекты языка лисп
- •3.12.3 Аппаратная реализация языка лисп
- •4 Математические основы логического вывода
- •4.1 Решение задач с помощью доказательства теорем
- •4.2 Тождественные преобразования при доказательстве теорем
- •4.3 Принцип резолюции
- •4.4Примеры применения принципа резолюции
- •4.5 Система управления роботом strips.
- •5Решение задач искусственного интеллекта на языке пролог
- •5.1 Применение метода доказательства теорем в системе пролог
- •5.2 Особенности программирования на пролоГе
- •5.4 Арифметические предикаты
- •5.5 Предикаты управления возвратом
- •5.6 Программа вычисления квадратного корня
- •5.7 Вычисление n!
- •5.8 Область действия предиката отсечения
- •5.9 Отрицание на пролоГе
- •5.10 Определение структур управления
- •5.11 Организация циклов в языке пролог
- •5.11.1 Цикл repeat-fail
- •5.11.2 Сопоставление цикла с возвратом и рекурсии
- •5.12 Операторная запись.
- •5.13 Ввод-вывод в системе пролог
- •5.13.1 Предикаты ввода-вывода символов
- •5.13.2 Предикаты ввода-вывода термов
- •5.13.3 Примеры применения предикатов ввода-вывода
- •5.14 Предикат name
- •5.15 Предикаты проверки типов термов
- •5.16 Создание и декомпозиция термов
- •5.17 Предикаты работы с базой данных .
- •5.18 Бинарные деревья
- •5.18.1 Построение бинарного дерева
- •5.18.2 Преобразование списка в упорядоченное дерево
- •5.18.3 Преобразование дерева в список
- •5.18.4 Удаление элемента из дерева
- •5.18.5 Поиск в глубину
- •5.18.6 Поиск в ширину
- •5.19 Поиск решений в игровых программах.
- •5.20 Обратное усечение дерева.
3.12.3 Аппаратная реализация языка лисп
Существующие структуры компьютеров (Неймановская архитектура машин) не ориентированы нязык Лисп по 3-м причинам:
1. Для эффективной реализации Лисп-машины требуется большое адресное пространство.
2. Частое использование стека требует аппаратной реализации стека большого объема.
3. Требуется наличие средств обработки тегов.
Лисп-машины впервые появились в начале 70-х годов, 1-ая машина называлась CONS, 2-ая – CADR – по имени выполняемых функций.
Сейчас, существует 4 фирмы, производящие Лисп-машины:
Symbolic (64 разряда), Xerox, LMI, TI (Explorer) - машины, аппаратно реализующие Лисп.
Обобщенная структурная схема ЛИСП-машины
ПИ - процессор трансляции. Переводит исходные тексты (s-выражения) программ в макрокоманды и виртуальную Лисп-машину.
ПИ - процессор интертрепации. Выполняет макрокоманды.
ПП - процессор памяти. Осуществляет управление ОП; реализует функции по размещению структур данных в памяти и сборке мусора
ПО - процессор обмена. Служит для передачи и обмена данных.
СП - сервисный процессор. Выполняет диагностику и тестирование Лисп-машины.
ОП - оперативная память.
Лисп-машина очень часто не является самостоятельным устройством, а подключается к ЭВМ через мультиплексный канал. Такая система реализуется например в машинах фирмы Fujitsu (FACOM).
4 Математические основы логического вывода
Логический вывод базируется на теории вычисления высказываний и теории исчисления предикатов.
Выссказыванием – называется утверждение, которое может быть истинным или ложным (Рим – столица Франции). Каждое такое выссказывание обозначается большой начальной буквой латинского алфавита А, В, С. Такие буквы называются пропозиционными буквами.
Простые выссказывания могут объединяться в формулы с помощью простых логических операций – V, , Ā , AB
Таблица для импликации
A |
B |
AB |
и |
и |
И |
и |
л |
Л |
л |
и |
И |
л |
л |
И |
AB ~ ĀVB
Формулы, которые имеют значение И, при любых значения переменных, входящих в эти формулы называются тавтологии.
Тавтологии претендуют на роль правильных схем рассуждения (или законов), а в логике исчисления выссказываний их называют модулами.
Существуют различные логики, которые отличаются тем, что базируются на различных наборах первичных законов.
Наиболее часто в основу логик положены следующие законы:
- закон отрицания третьего
- закон отрицания противоречия
- закон modus ponens
- закон modus tollens
- закон силогизма
Теоремы де Моргана:
(1)
(2)
Можно из одних выссказываний с помощью преобразований получать другие выссказывания. В логическом выводе понятие выссказывания имеет значение аналогичное const в программе.
Предикатом называют неоднородную логическую функцию от N - аргументов P(x1, x2,…, xn), где x1ЄX1, x2ЄX2 … Значение P всегда имеет логическое значение истина или ложь, и является логической функцией.
Как и в логике исчисления высказываний в этой логике тоже имеются формулы. Приведенная формула предиката соответствует n-местному предикату, т.к. имеет n перемееных.
Например:
P(x1, x2, x3)= x1 есть сумма x2+x3
Если x1=5; x2=3; x3=2, то подставив в предикат получим
5=3+2 – выссказывание.
N местный предикат, в котором конкретизирована одна из переменных, называется (N-1)-местным предикатом, и т.д.
Предикат, в котором конкретизированы все переменные, называется 0- местным или выссказыванием.
При записи функции на языке исчисления предикатов используют два квантора:
Общности ;
Существования .
хР(х) для всех х выполняются свойства Р(х)
хР(х) существует такой х при котором выполняется свойство Р(х)(~Р(0) – выссказывание.
Квантор связывает переменную, которая записана рядом с ним. При работе с кванторами также существует две теоремы де Моргана.
(1)
(2)
Введем понятие формулы в языке исчисления предиката. Для этого введем понятия:
Терм;
Элементарная формула;
Формула.
Термом называют:
предикатную переменную или предикатную const (например - (x1, x2,…, xn);
если символ F обозначает функцию от N-аргументов и t1, t2,…, tn – термы, то f(t1, t2,…, tn) – тоже терм;
Никакая другая запись термом не является.
Элементарной формулой называют:
пропозициональную букву А,В,С … (т.е. выссказывание);
если Р – это предикатная буква и t1, t2,…, tn – термы, то Р(t1, t2,…, tn) – это элементарная формула;
Никакие другие объекты элементарными формулами не являются.
Формулой называют:
элементарная формула – это формула языка исчисления предикатов;
если P и Q – это предикатные буквы, а х – это аргумент или предметная переменная, то выражение, построенное с помощью логических операторов и кванторов, будет являться формулами.
Примеры формул: хР(х), хР(х), PVQ, PQ, PQ
Никакие другие формулы не являются правильными формулами.
Правила, построенные по приведенным формулам, называют правильно построенными формулами (ППФ).
Пример
ППФ
хy(Q(х,y,z)P(x,f(z))
___
хy(Р(х,Q(х,y))f(х,y) – не правильная формула
Каждая формула исчисления предикатов может быть интерпритирована, т.е. при подстановке значений переменных или без такой подстановки, этой формуле можно придать словесную форму.
Пример:
G(f(x,y), g(x,y)) – функция, где
f(x,y)= x+y и g(x,y)= x*y
предметные переменные x и y принадлежат множеству целых положительных чисел – x,y N, G=’<’