- •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 Обратное усечение дерева.
1.4 Классификация систем ии
В настоящее время принято системы ИИ подразделять на следующие виды [ ]:
1. Интеллектуальные ИПС (вопросно-ответные системы), обеспечивающие взаимодействие конечных пользователей с базами данных и знаний на профессиональных языках пользователей близких к естественному.
2. Расчетно-логические системы, позволяющие конечным пользователям, не являющимся программистами и специалистами в области прикладной математики решать в диалоговом режиме свои задачи с использованием сложных математических методов.
3. Экспертные системы, дающие возможность осуществить эффективную компьютеризацию областей, в которых знания могут быть представлены в экспертной форме, но использование математических моделей, характерных для точных наук, затруднительно, а иногда невозможно.
Особо важное значение приобретают гибридные экспертные системы, представляющие объединение традиционных экспертных систем с расчетно-логическими. Иными словами, в гибридных экспертных системах логико-лингвистические модели используются совместно с математическими.
Важнейшей особенностью систем ИИ является адаптация и гибкость их программных систем по отношению к задачам, относящимся к той или иной предметной области. Во всех этих случаях нельзя сказать априори, посредством какой модели, алгоритма и системы программ решается задача или распознается ситуация.
Все системы ИИ ориентированы на знания, поэтому дальнейший прогресс систем ИИ предопределяет развитие трех основных теоретических проблем:
Представления знаний - центральная проблема ии.
Компьютерной лингвистики, решение которой обеспечивает процесс естественно- языкового общения с эвм и процесс автомтического перевода с иностранных языков.
Компьютерной логики, имеющей особо важное значение для развития экспертных систем, поскольку ее цель – моделирование человеческих рассуждений.
1.5 Основные направления развития ии
В области ИИ выделяют следующие основные направления [ ]:
а) моделирование на ЭВМ отдельных творческих процессов (игровые задачи, автоматическое доказательство теорем, автоматический синтез программ, анализ и синтез музыкальных произведений);
б) внешняя интеллектуализация ЭВМ - функциональные и прикладные исследования, относящиеся к комплексному диалоговому интерфейсу (внешняя в том смысле, что интеллектуальные системы вначале строятся на ЭВМ существующей архитектуры, в том числе на РС);
в) внутренняя интеллектуализация ЭВМ (вычислительные машины новой архитектуры строятся на принципах искусственного интеллекта);
г) целенаправленное поведение роботов (создание интеллектуальных роботов, способных автономно совершать операции по достижению целей, поставленных человеком).
Направление а) ранее других начало развиваться, именно в рамках этого направления и сформировался термин ИИ.
Направление в) решает проблемы построения ЭВМ новых поколений, поскольку для задач искусственного интелекта важны ЭВМ и методы обработки символьной информации. Это приводит к появлению машин баз данных и баз знаний, ЛИСП-, Пролог-, РЕФАЛ-машин, лингвистических процессоров , нейрокомпьютеров и др.
Направления б) и в) могут быть объединены в единое направление, чтобы подчеркнуть тот факт, что создание ЭВМ нового поколения станет итогом совместных усилий исследователей обоих направлений.
Создание интеллектуальных роботов( направление г ) - научно-техническая проблема, требующая разработки как специализированных ЭВМ,так и целого комплекса механических и энергетических систем: сенсоров, манипуляторов, движетелей.
Как и все системы ИИ, интеллектуальные роботы ориентированы на знания. Знания о внешней среде поступают в бортовые ЭВМ роботов от многочисленных сенсоров. Для разгрузки бортовых ЭВМ роботов от огромных потоков информации выполняют ее предварительную обработку в и н т е л л е к т у а л ь н ы х
с е н с о р а х.
Обобщенная структурная схема СИИ
Важнейшим отличием СИИ является то, что эти системы опираются на знания, и эти знания представлены в форме логико-лингвистических моделей, а не формально-математических, какие используются в ППП.
Основным элементом СИИ является БЗ, в которой знания хранятся в особой форме, которая позволяет этими знаниями манипулировать (изменять, дополнять, корректировать). В СИИ знания вычленены из программ.
В БЗ условно будем выделять данные и правила.
Данные – некоторые факты, описывающие предметную область, или состояние предметной области. Данные не являются активными, в том смысле, что применяя правило к данным или фактам можно получать новые данные или факты, которых не было в системе. Для того, чтобы на известных данных получать новые данные, необходимо применять правила, в соответствии с некоторыми принципами управления правилами. Эти принципы реализуются механизмом вывода.
Важной чертой СИИ является наличие подсистемы объяснения, которая позволяет объяснить пользователю как система привела к тому или иному выводу и почему она формирует тот или иной запрос пользователю, что повышает степень доверия к таким системам. Подсистема обоснования прогнозирования решения позволяет эмитировать последствия принятия решения и их исполнение во внешней среде, прогнозировать критические ситуации во внешней среде, вследствии принятия решения, рекомендованного системой. Используя подобную информационную систему можно корректировать свою информацию, рекомендации.
Диалоговый интерфейс предусматривает общение с пользователем на ограниченном подмножестве естественного языка, визуального представления информации, с помощью графических средств, а также ввода и вывода речевых сигналов. Система может взаимодействовать не только с пользователем, но и с реально протекающими процессами; в этом случае систему дополняет подсистема технического зрения и подсистема измерения и управления.
Распределенная БД позволяет получать информацию из других технических систем, взаимодействие с распределенными БД позволяет строить иерархические системы ИИ.
Подситема ввода и корректировки знаний, с помощью ее инженр-знаний осуществляет ввод знаний в систему и производит их корректировку.
Монитор – обучающая программа, обеспечивающая взаимодействие всех подсистем на схеме.
Основные тербования, которые предъявляют к БЗ заключаются в том, что форма представления знаний должна обеспечивать эффективный поиск необходимых порций знаний для логического вывода. Это приводит к тому, что БЗ необходимо структурировать.
Основные модели знаний, используемые при построении БЗ, котрые обеспечивают указанную структуризацию:
Продукционные системы
Семантические сети
Фреймы
Логические модели
Механизм вывода обычно реализует свою работу в 4 этапа:
Выбор раздела знаний БЗ (сокращение пространства поиска в БЗ, приближенный выбор тех порций знаний, котрые могут быть применены к текущей ситуации).
Сопоставление (сопоставление с используемым образцов; образцы – некоторые форматы, определяющие условия активизации отдельных элементов знаний или правил. В случае совпадения образцов, выбирается конкретная конкурирующая порция знаний, которую можно применить для решения задач).
Разрешение конфликтных ситуаций (из конкурирующих порций знаний необходимо выбрать одну).
Исполнение (применение знаний для решения задач).
В своей работе мханизм вывода опирается на способы представления задач, на структуру БЗ.
Обычно многие задачи и данные можно представить в виде графа.