Схема истории исследований в области ИИ.
Нейронные сети |
Экспертные системы |
Нейронные сети |
Генетические алгоритмы |
t |
I |
II |
III |
IV |
V |
Тек день |
Рождение ИИ |
Ранний энтузиазм |
Первое разочарование |
Новый энтузиазм |
Приход ИИ в промышленность |
• |
• |
• |
• |
(НЛ) 1965 |
(ГА) 1973 |
Активность исследований |
I период (1943-1956):
1943 г. – Уоррен Маккалок, Уолтер Питтс, первая работа по нейронным сетям - «Логическое исчисление идей, относящихся к нервной активности».
1950 г. – Алан Тьюринг, работа «Вычислительная машина и интеллект».
Традиционно одной из основных работ, положивших начало развитию искусственного интеллекта, считается работа 1950 года британского математика Алана Тьюринга, который опубликовал ее в журнале «Mind» (Разум) под названием «Вычислительная машина и интеллект».
В ней он описал тест для проверки программы на интеллектуальность. Было предложено поместить исследователя и программу в разные комнаты и до тех пор, пока исследователь не определит, кто за стеной - человек или программа, считать поведение программы разумным. Это было одно из первых определений интеллектуальности, то есть А. Тьюринг предложил называть интеллектуальным такое поведение программы, которое будет моделировать разумное поведение человека.
1956 г. – ИИ официально признан самостоятельным научным направлением. Сам термин ИИ (AI - Artificial Intelligence) был предложен в 1956 году на семинаре в Дартмутском колледже (Dartmouth College -США).
II период (1956-1963):
Характеризуется стремительным развитием нового научного направления.
1959 г. – Аллен Ньюэл (Newell), Герберт Саймон (Simon), создание GPS (General Problem Solver).
конец 50-х – начало 60-х - начало работ по созданию ЭС.
III период (1963-1969):
Класс решаемых с помощью искусственных нейронов задач постепенно расширялся. При этом неожиданно появились трудности: оказалось, что многие задачи не могли быть решены с использованием существовавшей модели искусственного нейрона.
Завершением этого этапа стал выход книги Минского и Пайперта «Персептроны» (1969), в которой математически было доказано, что использовавшиеся в то время модели искусственных нейронов не могли решить многие простые задачи.
К другим значимым работам этого периода следует отнести:
1965 г. – Л. Заде, первая работа по нечеткой логике – «Нечеткие множества».
1969 г. – Л. Заде, «Биологическое применение теории нечеткий множеств и систем».
1965 г. – создана система DENDRAL (первая экспертная система в области идентификации органических соединений с помощью анализа масс-спектрограмм).
IV период (1969-1979):
Начало 70-х годов - создана ЭС MYCIN (диагностика инфекционных заболеваний в области медицины).
В начале 70-х годов популярным направлением становятся генетические алгоритмы: 1973 - Jack L. Crosby «Computer Simulation in Genetics»,
1975 - Джон Холланд (John Henry Holland) «Адаптация в естественных и искусственных системах».
V период (1979 - наст.время):
1982 г. – разработан новый класс нейронных сетей, применяемых для решения задач кластеризации (сети Кохонена).
ЭС начинают использоваться в промышленности:
DEC – ЭС для управления газопроводом.
XCON – ЭС по выявлению неисправностей оборудования нефтехимической промышленности.
Также для периода характерно возобновление работ по НС.
Далее рассмотрим некоторые из определений термина Искусственный интеллект.
ИИ - область компьютерных наук, занимающаяся исследованием и автоматизацией разумного поведения (Д. Люгер).
Одним из наиболее полных определений искусственного интеллекта можно считать следующее.
ИИ - это одно из направлений информатики, целью которого является разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои, традиционно считающиеся интеллектуальными задачи, общаясь с ЭВМ на ограниченном подмножестве естественного языка.
Все разработки в области ИИ ведутся в рамках 2-х основных подходов:
- Восходящий (Bottom-Up AI, нейробиологический). Данный подход связан с попытками разработки интеллектуальных машин путем моделирования их биологического прототипа - человеческого мозга. Сейчас этот реализуется в виде: микрочипов на основе нечеткой логики, распределенных многопроцессорных систем, многоагентных систем, мягких вычислений, генетических алгоритмов и нейронных сетей и др.
- Нисходящий (Top-Down AI, семиотический, информационный). Связан с разработками методов, специализированных устройств и программ, обеспечивающих решение сложных математических и логических задач, позволяющих имитировать высокоуровневые психические процессы, такие как: мышление, рассуждение, речь, творчество (относятся экспертные системы, прикладные интеллектуальные системы).
Эти два направления как бы определяют программу минимум и программу максимум, между которыми и лежит область сегодняшних исследований и разработок систем ИИ.
Заголовок: Информационный процесс в рамках дисциплин об ИИ
Информационный процесс в рамках дисциплин об ИИ рассматривается в трех аспектах:
• Синтаксический аспект – характеризует информацию с точки зрения количества и структуры передаваемых сообщений, без учета смыслового содержания. Синтаксический аспект характеризует получение данных.
Определение:
При этом, факты могут быть представлены в виде описаний на естественном языке, в виде графических диаграмм и математических формул (пример факта на естественном языке - португальский язык является официальным языком Бразилии).
• Семантический аспект - понимание и интерпретация данных на основе знаний субъекта.
• Прагматический аспект - характеризует процесс создания информации, то есть процесс приращения знаний субъекта.
Определение:
Информация – новые и полезные данные, осмысливаемые на основе имеющегося знания.
В широком смысле под информацией понимают все три аспекта отражения информационного процесса.
По своей сути любая компьютерная программа, реализующая информационный процесс, выполняет следующие функции:
1 - воспринимает вводимые пользователем информационные запросы (то есть цели решения задачи, а также необходимые исходные данные),
2 - обрабатывает введенные и хранимые в системе данные в соответствии с известным алгоритмом и формирует требуемую выходную информацию.
Знания субъектов информационного процесса могут представляться в различной форме. У людей знания представляются либо в недокументированной (неявной) форме (непосредственно в голове), либо в документированной (явной, книжной) форме.
Причем документированная текстовая форма представления знаний в виде учебников, положений, инструкций и т.д. мало приспособлена для быстрого извлечения необходимых знаний при обосновании конкретных решений.
Неявное знание экспертов вообще трудно доступно для использования в решении задач другими специалистами.
Компьютерные программы, выступающие в роли субъектов информационного процесса, призваны упростить процесс использования знания в решении задач. Для этого знания должны структурироваться и запоминаться для последующего многократного использования.
Любое знание имеет двоякую природу: фактуальную и операционную.
• Фактуальное знание представляет известные сведения об объектах отражаемой реальности и накапливается в обычных базах данных (БД).
• Операционное знание отражает зависимости и отношения между объектами, что позволяет интерпретировать данные и извлекать из них информацию.
Операционное знание представляется либо в алгоритмической форме, либо в декларативной форме в виде специальных баз знаний.
Часто фактуальное знание называют детализированным, а операционное знание - обобщенным.
Выделяются следующие пути соединения операционного и фактуального знаний в рамках компьютерной программы:
1) характерный для программы, написанной на процедурном языке программирования
Это самый простой путь соединения операционного и фактуального знаний, заключается в следующем:
Программа = Алгоритм+ Структура данных |
Операционное знание |
Фактуальное знание |
В этом случае операционное знание (алгоритм) и фактуальное знание (структура данных) неотделимы друг от друга.
Однако если в ходе эксплуатации программы выяснится потребность в модификации какого-либо компонента, то возникнет необходимость ее переписывания. Это объясняется тем, что полным знанием проблемной области обладает только разработчик программы, а программа служит «недумающим исполнителем» знаний разработчика.
Следствием перечисленных недостатков является неадаптивность компьютерных программ к изменениям информационных потребностей.
2) характерный для систем, основанных на обработке баз данных (Data Base Systems - DBS).
В данном случае происходит отделение фактуального и операционного знаний друг от друга.
Фактуальное знание организуется в виде базы данных, а операционное - в виде программ (алгоритмов).
В качестве посредника между программой и базой данных выступает система управления базой данных (СУБД):
DBS: Программа <=> СУБД <=> База данных |
Концепция независимости программ от данных позволяет повысить гибкость программ по выполнению произвольных информационных запросов. Однако эта гибкость в силу процедурности представления операционного знания (то есть представления в виде алгоритмов) имеет четко определенные границы.
Для формулирования информационного запроса пользователь должен ясно представлять себе структуру базы данных и до определенной степени алгоритм решения задачи. Следовательно, пользователь должен достаточно хорошо разбираться в проблемной области, в логической структуре базы данных и алгоритме программы. Концептуальная схема базы данных выступает в основном только в роли промежуточного звена в процессе отображения логической структуры данных на структуру данных прикладной программы.
Таким образом, представление операционного знания в виде алгоритмов является основным недостатком компьютерных программ, в том числе и программ, основанных на обработке баз данных.
Этот недостаток устраняется в интеллектуальных системах (ИС).
3) характерный для ИС.
В таком случае операционное знание реализовано в виде решателя, а фактуальное – базой знаний, которая постоянно адаптируется для решения конкретной проблемы.
Операционное знание в решателе представляется при этом не виде алгоритмов, а в некотором специальном виде (например, в виде фреймов, семантических сетей или продукционных моделей).
Вследствие этого, возможно применение интеллектуальных систем в областях традиционно считавшихся творческими.
Таким образом, системы ИИ применяются, прежде всего, для решения неформализованных (слабо формализованных) задач.
Основные типы НФ-задач, для которых используются системы ИИ представлены в таблице 1.2.
Программы, относящиеся к области ИИ можно разделить на группы:
1. Игровые программы:
а) Человеческие игры: переборные игры (задачи нахождения кратчайшего пути в лабиринте), топологические игры (на рисунке 1), стохастические игры (повторяющаяся игра со случайными переходами состояний, разыгрываемая одним и более игроками).
Как обойти все линии, совершив минимальное число поворотов?
б) Компьютерные игры: игры с жесткой схемой, игры со сценарием.
- Естественно-языковые программы: машинный перевод, автоматическое реферирование.
- Программы распознавания.
4. Машинное творчество
а) программы генерации текстов (прозаические тексты, поэтические тексты);
б) программы создания и анализа музыкальных произведений;
в) программы создания произведений графики и живописи.
История развития ИИ началась именно с реализации на ЭВМ игровых программ.
К числу первых игровых программ можно отнести программу Артура Самуэля по игре в американские шашки, написанную в 1947 году, причем в ней использовался ряд основополагающих идей ИИ, таких, как перебор вариантов и самообучение.
Другим примером игровых программ, использующих методы ИИ является задача об обучении компьютера игре в шахматы. Она была поставлена уже на заре вычислительной техники, в конце 50-х годов.
В шахматах существуют определенные уровни мастерства, степени качества игры, которые могут дать четкие критерии интеллектуального роста машины. Поэтому компьютерными шахматами активно занимались ученые умы во всем мире. Но шахматы - игра, соревнование, и чтобы продемонстрировать свои логические способности, компьютеру необходим непосредственный противник. В 1974 году впервые прошел чемпионат мира среди шахматных программ в рамках очередного конгресса IFIP (International Federation of Information Processing) в Стокгольме. Победителем этого состязания стала советская шахматная программа «Каисса». Эта программа была создана в Москве, в Институте проблем управления Академии наук.
Несмотря на разнообразие проблем, затрагиваемых исследованиями ИИ, во всех отраслях этой сферы наблюдаются некоторые общие черты:
1) Использование компьютеров для доказательства теорем, распознавания образов, обучения и других форм рассуждений.
2) Внимание к проблемам, не поддающимся алгоритмическим решениям. В связи с этим, основой методики решения задач в ИИ является эвристический поиск.
Эври́стика - отрасль знания, изучающая творческое, неосознанное мышление человека.
3) Принятие решений на основе неточной, недостаточной, плохо определенной информации и применение формализмов представлений, помогающих программисту справляться с этими недостатками.
4) Выделение значительных качественных характеристик ситуации.
5) В большинстве задач предпринимается попытка решить вопросы семантического смысла, ровно, как и синтаксической формы.
6) Использование ответов, которые нельзя отнести к точным или оптимальным, но которые в каком-то смысле достаточно хороши. В связи с этим, в ситуациях, когда получение оптимальных или точных ответов слишком трудоемко или невозможно вовсе, рекомендуется применение эвристических методов.
7) Использование большого количества специфичных знаний в принятии решений (что составляет основу экспертных систем).
8) Использование знаний метауровня для более совершенного управления стратегиями принятия решений [Хотя это очень сложная проблема, затронутая лишь несколькими современными системами, она постепенно становится важной областью исследований].
Классификация ИС
Интеллектуальная система (ИС, intelligent system) — это техническая или программная система, способная решать задачи конкретной предметной области, традиционно считающиеся творческими. Структуру интеллектуальной системы рассмотрим в виде рисунка.
Человек |
Механизм вывода обучающей системы |
Механизм вывода пользовательской системы |
База знаний |
Обратимся к основной классификации интеллектуальных систем. Обычно выделяются следующие виды ИС:
1. Расчетно-логическая система
К расчетно-логическим системам относят системы, способные решать управленческие и проектные задачи по декларативным описаниям условий. При этом пользователь имеет возможность контролировать в режиме диалога все стадии вычислительного процесса. Такие системы способны автоматически строить математическую модель задачи и автоматически синтезировать вычислительные алгоритмы по формулировке задачи. Эти свойства реализуются благодаря наличию базы знаний в виде функциональной семантической сети и компонентов дедуктивного вывода.
2. Рефлекторная интеллектуальная система
Рефлекторная система - это система, которая формирует вырабатываемые специальными алгоритмами ответные реакции на различные комбинации входных воздействий. Алгоритм обеспечивает выбор наиболее вероятной реакции интеллектуальной системы на множество входных воздействий, при известных вероятностях выбора реакции на каждое входное воздействие, а также на некоторые комбинации входных воздействий. Данная задача подобна той, которую реализуют перцептроны.
Рефлекторные программные системы применяются к следующим задачам:
1- естественно-языковой доступ к базам данных;
2- оценки инвестиционных предложений;
3- оценки и прогнозирования влияния вредных веществ на здоровье населения;
4- прогнозирования результатов спортивных игр.
3. интеллектуальная информационная система (ИИС)
Интеллектуальная информационная система (ИИС, intelligent system) — комплекс программных, лингвистических и логико-математических средств, используемый для поддержки деятельности человека и поиска информации в режиме диалога на естественном языке.
Для интеллектуальных информационных систем характерны следующие признаки:
А) развитые коммуникативные способности,
Б) умение решать сложные плохо формализуемые задачи,
В) способность к самообучению,
Г) адаптивность.
Коммуникативные способности ИИС характеризуют способ взаимодействия конечного пользователя с системой, в частности, возможность формулирования произвольного запроса в диалоге с ИИС на языке, максимально приближенном к естественному.
Сложные плохо формализуемые задачи - это задачи, которые требуют построения оригинального алгоритма решения в зависимости от конкретной ситуации, для которой могут быть характерны неопределенность и динамичность исходных данных и знаний.
Способность к самообучению - это возможность автоматического извлечения знаний для решения задач из накопленного опыта конкретных ситуаций.
Адаптивность - способность к развитию системы в соответствии с объективными изменениями модели проблемной области.
В различных ИИС перечисленные признаки интеллектуальности развиты в неодинаковой степени и редко, когда все четыре признака реализуются одновременно. Условно каждому из признаков интеллектуальности соответствует свой класс ИИС:
А) Системы с интеллектуальным интерфейсом;
Б) Экспертные системы;
В) Самообучающиеся системы;
Г) Адаптивные системы.
Класс экспертных систем будет рассмотрен в рамках курса более подробно, по сравнению с другими типами.
4. гибридная интеллектуальная система (ГиИС)
Под гибридной интеллектуальной системой принято понимать систему, в которой для решения задачи используется более одного метода имитации интеллектуальной деятельности человека. Таким образом, в состав (ГиИС) могут входить различные комбинации следующих компонентов:
- аналитических моделей
- экспертных систем
- искусственных нейронных сетей
- нечетких систем
- генетических алгоритмов
- имитационных статистических моделей.
Междисциплинарное направление «гибридные интеллектуальные системы» объединяет ученых и специалистов, исследующих применимость не одного, а нескольких методов, как правило, из различных классов, к решению задач управления и проектирования.