- •Подходы к пониманию проблемы [править]
- •Тест Тьюринга и интуитивный подход [править]
- •Символьный подход [править]
- •Логический подход [править]
- •Агентно-ориентированный подход [править]
- •Гибридный подход [править]
- •Модели и методы исследований [править] Символьное моделирование мыслительных процессов [править]
- •Работа с естественными языками [править]
- •Представление и использование знаний [править]
- •Машинное обучение [править]
- •Биологическое моделирование искусственного интеллекта [править]
- •Робототехника [править]
- •Машинное творчество [править]
- •Другие области исследований [править]
- •Современный искусственный интеллект [править]
- •Применение [править]
- •Язык и система Пролог
- •4. Применение языка пролог в области искусственного интеллекта.
- •7. Методы и алгоритмы искусственного интеллекта, стадии Data Mining.
- •Методы классификации и прогнозирования.
- •Методы кластерного анализа.
- •Методы поиска ассоциативных правил
- •Методы визуализации
- •1. Определение и анализ требований к данным
- •2. Сбор данных
- •3. Предварительная обработка данных
- •4. Построение моделей;·
- •Этап 5. Проверка и оценка моделей
- •9. Инструментальные среды интеллектуальной обработки информации и их характеристика.
- •10. Стандарты интеллектуального анализа данных (методология semma, стандарты cwm, crisp, pmml и др.)
Современный искусственный интеллект [править]
ASIMO — Интеллектуальныйгуманоидный робот фирмыHonda
Можно выделить два направления развития ИИ:
решение проблем, связанных с приближением специализированных систем ИИ к возможностям человека, и их интеграции, которая реализована природой человека (см. Усиление интеллекта);
создание искусственного разума, представляющего интеграцию уже созданных систем ИИ в единую систему, способную решать проблемы человечества (см. Сильный и слабый искусственный интеллект).
Но в настоящий момент в области искусственного интеллекта наблюдается вовлечение многих предметных областей, имеющих скорее практическое отношение к ИИ, а не фундаментальное. Многие подходы были опробованы, но к возникновению искусственного разума ни одна исследовательская группа пока так и не подошла. Ниже представлены лишь некоторые наиболее известные разработки в области ИИ.
Применение [править]
Турнир RoboCup
Некоторые из самых известных ИИ-систем:
Deep Blue — победил чемпиона мира по шахматам. Матч Каспаров против суперЭВМ не принёс удовлетворения ни компьютерщикам, ни шахматистам, и система не была признана Каспаровым (подробнее см. Человек против компьютера). Затем линия суперкомпьютеров IBM проявилась в проектах brute force BluGene (молекулярное моделирование) и моделирование системы пирамидальных клеток в швейцарском центре Blue Brain[22].
Watson — перспективная разработка IBM, способная воспринимать человеческую речь и производить вероятностный поиск, с применением большого количества алгоритмов. Для демонстрации работы Watson принял участие в американской игре «Jeopardy!», аналога «Своей игры» в России, где системе удалось выиграть в обеих играх[23].
MYCIN — одна из ранних экспертных систем, которая могла диагностировать небольшой набор заболеваний, причем часто так же точно, как и доктора.
20Q — проект, основанный на идеях ИИ, по мотивам классической игры «20 вопросов». Стал очень популярен после появления в Интернете на сайте 20q.net[24].
Распознавание речи. Системы такие как ViaVoice способны обслуживать потребителей.
Роботы в ежегодном турнире RoboCup соревнуются в упрощённой форме футбола.
Банки применяют системы искусственного интеллекта (СИИ) в страховой деятельности (актуарная математика), при игре на бирже и управлении собственностью. Методы распознавания образов (включая, как более сложные и специализированные, так и нейронные сети) широко используют при оптическом и акустическом распознавании (в том числе текста и речи), медицинской диагностике, спам-фильтрах, в системах ПВО (определение целей), а также для обеспечения ряда других задач национальной безопасности.
Разработчики компьютерных игр применяют ИИ в той или иной степени проработанности. Это образует понятие «Игровой искусственный интеллект». Стандартными задачами ИИ в играх являются нахождение пути в двумерном или трёхмерном пространстве, имитация поведения боевой единицы, расчёт верной экономической стратегии и так далее.
2. Основные конструкции, вычислительная модель и теоретическая база логического программирования, рекурсия в логическом программировании
Логи́ческое программи́рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.
Самым известным языком логического программирования является Prolog.
Первым языком логического программирования был язык Planner (см. обзор Шапиро (Ehud Shapiro) [1989]), в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Planner использовался для того, чтобы понизить требования к вычислительным ресурсам (с помощью метода backtracking) и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан язык Prolog, который не требовал плана перебора вариантов и был, в этом смысле, упрощением языка Planner.
От языка Planner также произошли логические языки программирования QA-4, Popler, Conniver и QLISP. Языки программированияMercury, Visual Prolog, Oz и Fril произошли уже от языка Prolog. На базе языка Planner было разработано также несколько альтернативных языков логического программирования, не основанных на методе поиска с возвратами (backtracking), например,Ether (см. обзор Шапиро [1989]).
1. ТЕОРЕТИЧЕСКИЕ ПРИНЦИПЫ ПРОЛОГА
ПРОЛОГ является языком исчисления предикатов. Предикат – этологическая формула от одного или нескольких аргументов. Можно сказать, что предикат – это функция, отображающая множество произволь-ной природы в множество {ложно, истинно}.Обозначаются предикаты F(x), F(x, y), F(x, y, z) и т. д..Одноместный предикат F(x), определенный на предметной областиM, является истинным, если у объекта x есть свойство F, и ложным –если этого свойства нет.Двухместный предикат F(x, y) является истинным, если объекты x иy находятся в отношении F.Многоместный предикат F(x1 , x2 , x3 ,..., xN ) задает отношение между элементами x1, x2, ..., xN и интерпретируется как обозначение высказывания: “Элементы x1 , x2, xN находятся между собой отношении F”.При разработке логических программ предикаты получают обычноназвания, соответствующие семантике описываемой предметной области Задача ПРОЛОГ – программы заключается в том, чтобы доказать,
является ли заданное целевое утверждение следствием из имеющихся фактов и правил.Решаемая задача представляется в виде совокупности утверждений (аксиом), цель задачи также записывается в виде утверждения. Тогда решение задачи представляет собой выяснение логического следования из аксиом 2. СТРУКТУРА ПРОГРАММЫ НА ПРОЛОГЕ
Программа на языке ПРОЛОГ включает следующие основные разделы:описание имен и структур объектов (domains);описание предикатов – названий отношений, существующих междуобъектами (predicates);раздел целевых утверждений (goal), который может отсутствовать; вэтом случае программа будет запрашивать целевое утверждение призапуске;6описание фактов и правил, описывающих отношения (clauses).Имена объектов (констант) в ПРОЛОГе пишутся с маленькой буквы,а переменных – с большой.Рассмотрим, как можно описать на ПРОЛОГе задачу из некоторойпредметной области, например географии.
4. ЗАПРОСЫ К ПРОЛОГ-ПРОГРАММЕЗапрос – это последовательность из одного предиката или множе-ства предикатов, разделяемых запятыми (связка and) и завершающаясяточкой. С помощью запросов можно установить истинность соответ-ствующего выражения. Предикат запроса называется целью (goal).Простые запросы, не содержащие переменных, называют да-нет-воп-росами. Они допускают лишь два возможных ответа: “Yes” или “No”. Вслучае ответа “Yes” говорят, что запрос завершился успехом, цель дос-тигнута.
Правило является рекурсивным, если содержит в качестве компо-
ненты само себя. Рекурсия допустима в большинстве языков програм-
мирования (например, в Паскале), но там этот механизм не является
таким важным, поскольку имеются другие, свойственные процедурным
языкам, механизмы – циклы, процедуры и функции.
Рассмотрим преимущества использования рекурсии на примере.
Пусть имеются следующие факты о том, какая валюта котируется выше 3. Синтаксис языка ПРОЛОГ, его влияние на стиль и методы программирования.