- •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 Обратное усечение дерева.
5.20 Обратное усечение дерева.
Метод обратного усечения чаще называют процедурой "альфа-бета". Поиск по дереву в том виде, как мы его здесь излагаем, включает два этапа:
Построение дерева возможностей с последующим приписы ванием его терминальным вершинам числовых значений, определяемых с помощью СОФ.
Применение минимаксной процедуры для передачи значений вверх по дереву.
В процедуре Альфа-Бета необходимо, чтобы эти два этапа были объединены так, чтобы значения связывались с вершинами по мере формирования дерева. В силу особенностей минимаксной процедуры, в таком случае удается избежать построения целых кусков дерева, что иногда уменьшает время вычисления на несколько порядков.
В процедуре Альфа-Бета дерево строится в глубину. Чтобы сэкономить объем поиска при применении процедуры альфа-бета, необходимо производить оценку каждой терминальной вершины как только она будет построена. Оценка для нетерминальной вершины находится лишь после того, как будут оценены все ее дочерние вершины. Но как только будет оценена одна из таких дочерних вершин, с родительской вершиной можно связать предположительное возвращаемое значение (ПВЗ). Если родительская вершина является альфа, то ПВЗ равна наибольшей из полученных оценок, если бета - наименьшей.
Как только ПВЗ приписано некоторой альфа-вершине, при дальнейшем построении дерева это значение может лишь возрасти по величине. Если же ПВЗ оказывается приписанным некоторой бета-вершине, то в последующем это значение может только уменьшиться.
Два последних правила дают возможность понять, что некторые из еще не построенных вершин никак не могут повлиять на конечный результат. Тогда обратное усечение равносильно просто отказу от построения таких вершин.
(См. рис. Х/О). Оценивая дерево Х/О, следовало бы сформировать оценки вершин 6,7,8 и 9 для того, чтобы оценить вершину 1 и приписать ей значение. Затем строится 2 и 10,11,12. После построения 12 ПВЗ для вершины 2 будет равно -10. Значение вершины 2, следовательно, не может повлиять на значение корневой вершины. Поэтому нет смысла строить поддерево вершины 2. Следовательно, вершина 13 формироваться не будет.
Итак, общее правило, вероятно, заключается в том, что если ПВЗ для бета-вершины становится меньшим или равным ПВЗ для ее родительской альфа-вершины, то нет необходимости строить дальше поддерево, идущее от такой бета-вершины. Если так случается, то в процессе поиска мы сталкиваемся с альфа-отсечением.
Выполняется также дополнительное правило, которое обеспечивает экономию в случае бета-отсечения. Если ПВЗ для альфа-вершины становится большим или равным ПВЗ для ее родительской бета-вершины, то нет смысла строить дальше поддерево, идущее ниже такой альфа-вершины.
В настоящем примере экономия невелика: просто не пришлось оценивать вершины 13,17,24 и 25.
Экономия зависит от порядка, в котором строятся дочерние вершины. Чтобы извлечь максимум выгоды из процедуры альфа-бета, целесообразно использовать для упорядочения процесса построения вершин эвристические методы. Полезной эвристикой, в частности, является использование СОФ для упорядочения дочерних вершин какой либо конкретной вершины, при котором приоритет отдается наивысшим значениям СОФ для дочерних вершин в случае альфа-вершины, и наинизшим значениям СОФ для дочерних вершин в случае бета-вершины.
ЗАКЛЮЧЕНИЕ.
МЕТОДЫ И ЗАДАЧИ ИИ.
Компьютеры 5-го поколения будут базироваться на новых принципах обработки информации, что позволит им обрабатывать т.н. сырую (плохо структурированную) информацию. Методы ИИ должны позволять компьютеру работать в такой обстановке.
ИИ как научное направление нацелен на решение задач, которые хорошо решает человек, а компьютер- плохо.
Это круг задач, связанных с умением понимать, анализировать, рассуждать, использовать знания, планировать свои действия. Характерная особенность этих "умений"- универсальность и применимость к объектам самой различной природы. Именно поэтому под механизмом ИИ часто понимают универсальные процедуры(метапроцедуры), которые применимы к широкому кругу задач:
Понимание естественного языка, текста и речи. Для че ловека понимание языка не является задачей, поэтому она интеллектуальна с т.з. цомпутера. Научное направление, которое занимается такими системами,- самостотельное в рамка ИИ и называется обработкой естественного языка(ЕЯС- естественные языковые системы). Состав ЕЯС см. в Попове Э.В. "Понимание естественного языка".
Распознавание речи.
Зрительное восприятие компьютера.
Выявление закономерностей- заключается в том, что находится общая закономерность, свойственная всем, или большинству рассматриваемых объектов, явлений, ситуаций и пр.
Планирование действий - направление работ, заключающееся в определении состава и последовательности действий, которое приводит к нужной цели.
Задачи, связанные со знаниями:
а) представление знаний;
б) получение знаний, как процесс выявления закономер-
ностей;
в) обучение, как процесс передачи знаний от человека к
компьютеру;
г) моделирование рассуждений.
Методы ИИ обладают свойством, что ИИ характеризуется не конечным продуктом, а технологией решения проблем в различных областях, следовательно, часто методы ИИ называют новой информационной технологией.
Выводы и заключения.
1.Специфика методов искусственного интеллекта.
Компьютеры 5-го поколения должны работать на новых принципах обработки информации. Дело в том, что им придется иметь дело с "сырой исходной информацией", т.е. плохо структурированной. Именно поэтому требуется создавать методы, позволяющие компьютеру работать в такой непрерывной обстановке. Такими методами являются методы ИИ.
Так была названа область исследования, которая к человеческому интеллекту имеет довольно косвенное отношение. Речь идет о задачах, которые хорошо решаются человеком и плохо машиной. Естественно, не все задачи, хорошо решаемые человеком, следует относить к интеллектуальным. Но есть большой класс задач, связанных с умением понимать, анализировать, рассуждать, использовать знания, планировать свои действие, в которых естественно проявление интеллекта. Характерной особенностью этих"умений" является их универсальность и, поэтому, применимость к объектам самой разнообразной природы. Так, умение планировать свои действия подразумевает возможность реализовать эффективное планирование и дома, и на улице, и на работе. Именно поэтому под методами ИИ часто понимают универсальные процедуры (их часто называют метапроцедурами ), применимые к широкому классу задач. Что же это за задачи?
1. Это прежде всего задачи, связанные со зрительным восприятием компьютером. Более 90% информации об окружающем мире человек получает именно по этому каналу. Для современного компьютера этот канал практически только начинает приоткрываться. Поэтому остро стоит проблема "открыть глаза компьютеру". Но ввести изображение в память компьютера не трудно. Для компьютера сложно понять это изображение.
Понимание изображения - следующий шаг в решении задач распознавания образов. Человек, как правило, без труда распознает лица, предметы, знаки после однократного знакомства с ними. Для компьютера решение такого рода задачи очень затруднительно.
2. Другая важная практическая задача - это понимание естественного языка, текста или речи. Для человека понимание его языка попросту не является вообще задачей. Для компьютера это очень сложная проблема, решить которую в полной мере едва ли удастся в ближайшее время.
3. Задача выявления закономерностей состоит в том, чтобы найти общую закономерность, свойственную всем или большинству рассматриваемых предметов, ситуаций, явлений.
4. Задача планирования действий, например, робота, заключается в том, чтобы состав и последовательность этих действий приводили бы к требуемому результату. Например, взять определенную деталь, и положить ее в другое место заданным образом.
5. Следующий класс задач ИИ связан с понятием знания. Мы резко различаем понятия информации и знания. Для компьютера оперировать знаниями дело непривычное. Прежде чем оперировать знаниями, нужно решить много задач. Это задачи представления знаний в памяти компьютера, получения знаний как процессы выявления закономерностей, обучения как способы передачи знаний от человека к машине, моделирования рассуждений как задачи манипулирования знаниями. Все это задачи ИИ.
Как легко заметить, далеко не все из этих задач с человеческой точки зрения следует считать интеллектуальными, ведь две из них - узнавание и планирование действий - без труда решается даже животными, а понимание речи свойственно человеку. Что касается знаний и манипулирований ими, то человек всегда ценит знания, но никогд а особенно не задумывается о том,как он ими манипулирует. Так что об интеллектуальности большинства задач и говорить не стоит. Правильнее было бы говорить о машинном интеллекте, которому предстоит обрести такую интеллектуальность.
Восприятие изображений
Задача восприятия изображений опирается на задачу распознава
ния. Трудность решения задачи распознавания графических изображений можно проиллюстрировать на задаче распознавания рукописного текста. Если бы все изображения одной и той же буквы были всегда одинаковы, то проблем бы не было. Всегда легко выявить 1-2 признака, которые отличают одну букву от другой (например, А - Л). Именно такой подход использован в читающих автоматах. Именно такой подход используется при сортировке писем. Но как быть с посылками, бандеролями.
В подобном алгоритме нуждается не только почта. Он нужен прежде всего компьютеру для организации своих действий на основе любой или любым образом написанной текстовой информации. Необходимость действия требует понимания компьютером полученной информации. Решением задачи понимания и занимается распознавание образов, где образом является значение знака, а исходной информацией - его графическое изображение.
Если такого понимания не требуется, то ввести в компьютер графическую информацию нетрудно. Для этого достаточно воспользоваться телевизионным датчиком и считать построчно изображение, чтобы запомнить яркость каждой точки этого изображения. Такая запись, называемая факсимильной, проста , но требует большой памяти.
А чтобы сократить ее, нужно понимать уже смысл этого изображения - распознавать его или отдельные его части. Так , чтобы записать один ч/б кадр необходимо запомнить ~ 500 000 чисел определяющих яркость каждой точки экрана (для цветного кадра это число необходимо утроить). Если изображение содержит элементы, которые можно однозначно распознать, как ,например, буквы или цифры, то для запоминания требуется значительно меньшая память. Так , чтобы запомнить одну страницу текста, требуется ~ 1500 байт.
2. Понимание естественного языка.
Эта проблема одна из самых трудных в ИИ. Ее сложность проиллюстрировать на проблеме машинного перевода. Виной тому многозначность естественного языка. Одни и те же слова имеют разный смысл в зависимости от контекста и знаний об окружающем мире. Если компьютеру, не владеющему необходимыми знаниями сказать: "Здрасьте! Я - ваша тетя!", то он будет считать, что с ним здоровается его тетка, он не поймет в этих словах иронии. Такого рода знания выходят за рамки знаний о языке. Это знания о мире.