Различные модели искусственного интеллекта, проблемы его создания и применения
МУНИЦИПАЛЬНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ГИМНАЗИЯ
№ 12
Глушко Дмитрий Вадимович
Ученик
9 “В” класса
РАЗЛИЧНЫЕ МОДЕЛИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА,
ПРОБЛЕМЫ
ЕГО СОЗДАНИЯ И ПРИМЕНЕНИЯ
Годовая
работа по информатике
Научный руководитель:
учитель
информатики Кюнбергер А.Л.
Липецк – 2007
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ…………………………………………………………
- ПОНЯТИЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА…………………………....4
- Термины и определения ……………………………………………….…....4
- Проблемы представления знаний………………………………...…..……..7
- Современные области исследований в искусственном интеллекте...…...13
- Современные теоретические проблемы искусственного интеллекта...…15
- МОДЕЛИ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА………………………...….18
- Логическая
модель………………………………………………………….
18 - Продукционная модель……………………………………………………..22
- Фреймы………………………………………………………………
………23 - Семантические сети……………………………………………………...…25
- Новые модели…………………………………………………………….
…28 - Критериальные методы………………………………………………28
- Вероятностные методы……………………………………………….29
- Нейронные сети……………………………………………………….30
ЗАКЛЮЧЕНИЕ……………………………………………………
БИБЛИОГРАФИЧЕСКИЙ
СПИСОК……………………………………..………33
ВВЕДЕНИЕ
Искусственный интеллект(ИИ), как и любое направление современной науки, имеет богатую предысторию. Знакомство с именами и трудами основоположников, их научными воззрениями, даже биографиями ученых имеет практический смысл, т. к. во многих случаях позволяет глубже понять смысл той или иной научной модели. Широкое развитие автоматизированных технологий началось, по–видимому, в 40–50 годах ушедшего XX века. Философская идея о замене человека “умной машиной”, возникшая в книгах Шелли (если не ранее), получила наибольшее распространение в 60–80 годах. Основные теоретические положения искусственного интеллекта, а искусственный интеллект сегодня — вершина развития информационных технологий, заложены как раз в этот период. Сказанное не означает, что сегодня исследования ведутся менее активно, напротив, наблюдается пик развития компьютерных технологий, в их разработку вкладываются средства, сопоставимые с бюджетом ресурсодобывающих компаний. Тем не менее результаты скорее количественные. Впрочем, современные достижения в этой области не рекламируются, поскольку имеют явную военную направленность.
Данная годовая работа состоит из двух глав. В первой главе рассмотрены вопросы, связанные с понятием “искусственный интелект”. В ней разъясняются основные определения и термины, используемые в этом научном направлении. В завершении главы представлен спектр проблем, решаемых этим научным направлением.
Вторая
глава посвящена подробному рассмотрению
различных моделей искусственного интеллекта
— логической, продукционной, фреймовой
и других моделей, возникновение которых
относят к началу 90–х гг.
- ПОНЯТИЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
Любой живой организм — интеллектуальная система. Он обладает долговременной памятью и способностью к самообучению. Ребенок, притронувшись к горячей плитке, уже не повторит ошибки. Щенок, впервые погнавшийся за кошкой, получит серьезный урок и вряд ли снова решит с ней поиграть. При следующей встрече он, скорее всего, убежит или покажет зубы, или проявит еще одну из тысяч возможных реакций.
1.1. Термины и определения
Определение 1. Интеллектуальной называется система (рис. 1), способная целеустремленно, в зависимости от состояния информационных входов, изменять не только параметры функционирования, но и сам способ своего поведения, причем способ поведения зависит не только от текущего состояния информационных входов, но также и от предыдущих состояний системы.
Рис.1. Интеллектуальная система как “черный ящик”
Технические же системы чаще всего не являются интеллектуальными, т. е. их реакция на одно и то же событие не может измениться кардинально. Система автоматического управления давлением газа в трубе может открывать и закрывать заслонку (управлять параметрами), но она не может принять решение совсем вывинтить заслонку из трубы. Если аварии газопровода предшествует изменение давления (например, сначала резкое повышение, а затем резкое понижение), то автоматическая система воспримет это как нормальную ситуацию и попытается “отрегулировать” ее движением заслонки.
Даже если после каждой аварии мы будем добавлять в систему управления новый блок, точно фиксирующий параметры предыдущей ситуации, ничего не изменится. Простое накопление данных не “обучит” систему.
Дело в том, что щенок, получивший урок от кошки, запомнил не только параметры ситуации (длину когтей и скорость реакции), но и правила поведения (не подходи, не подставляй нос, если залаять — она убежит).
Определение 2. Интеллектуальной называется система, моделирующая на компьютере мышление человека.
Второе определение появилось в 60–х гг., когда считалось, что мозг человека можно смоделировать на компьютере. Клетки мозга — нейроны — программно описывались специальными математическими методами. Компьютерная программа, таким образом, представляла как бы “кусочек мозга” человека. На вход программы подавались некоторые данные (на вход клетки мозга в живом организме поступает слабый электрический сигнал), на выходе снимались результаты, которые сверялись с заданным эталоном. В зависимости от того, насколько полученные результаты отклонялись от эталона, в расчетные коэффициенты вносились изменения. В зависимости от количества циклов такого “обучения” результаты работы программы постепенно все более приближались к результатам работы очень маленького элемента мозга человека.
Идея о возможности повторить мозг на компьютере к 80–м гг. XX века потерпела полную неудачу, однако теория нейронных сетей, нейросетевой подход доказали свою полезность на целом ряде практических приложений. Хорошие результаты получены в первую очередь на задачах предсказания значений параметров и распознавания образов.
Определение 3. Интеллектуальной называется система, позволяющая усилить интеллектуальную деятельность человека за счет ведения с ним осмысленного диалога.
К концу 80–х гг. стало совершенно очевидно, что создать универсальный искусственный разум невозможно. Более того, выяснилось, что это и совершенно не нужно. Следует создавать узкоспециализированные интеллектуальные системы, которые не заменяют человека, а дополняют его. Человек имеет ряд уникальных способностей, но не свободен от недостатков. Не один человек не обладает реакцией кошки. Никто из нас не способен прочитать за минуту роман Л.Н. Толстого “Война и мир”, редко кто из людей обладает энциклопедической памятью. Примеров можно привести еще множество.
Компьютер обладает “энциклопедической” памятью, компьютер совершает миллионы операций в секунду, компьютер реагирует практически мгновенно. Но компьютер — это “глупое железо”, он не способен мыслить, не способен отвечать за собственные поступки.
Подчеркнем актуальность совместной деятельности человека и машины. Необходимо, чтобы компьютер служил советчиком человеку, быстро анализировал ситуацию, генерировал варианты действия и предлагал их человеку, а человек рассматривал предложенные варианты и пояснял, почему тот или иной вариант плох. Компьютер, учитывая полученные разъяснения, вновь анализировал бы все варианты действия и выдавал новые, а человек выбирал подходящий вариант и нес ответственность за его реализацию.
Поясним сказанное примером: система автоматического наведения ракет обнаружила цель. Цель была обнаружена практически мгновенно, человек даже не успел ее заметить. Ракета была автоматически наведена на цель. Цели был послан запрос “свой-чужой”. Цель появилась на пульте управления перед оператором, человек принял решение о поражении и нажал на кнопку запуска ракеты. В случае полностью автоматического ведения цели существовала бы реальная опасность уничтожить свой самолет. В обратном случае, если бы наведением на цель, посылкой запроса занимался человек, могло быть упущено время.
Таким
образом, сегодня искусственный
интеллект — это самообучающийся инструмент,
усиливающий деятельность человека по
генерации и принятию решений.
1.2. Проблемы представления знаний
Создание реальных интеллектуальных программ, а такие программы сегодня уже широко распространены, столкнулось с непреодолимыми трудностями теоретического характера. Интеллектуальную программу невозможно создать, используя только навыки программирования. Программа не станет интеллектуальной, если начнет заносить в свою базу данных все ситуации, с которыми она встречалась. Постоянно пополнять базы данных можно, и интеллектуальные программы это делают, однако это далеко не все, что необходимо для создания интеллектуальной программы.
Пример. В конце 40–х гг. была поставлена задача автоматического перевода с одного языка на другой, например, с русского на английский. Перед вами сочетание: Read Only Memory. Здесь Read — читать, Only — только, Memory — память. Как правильно перевести эту фразу? Здесь возможны две ситуации:
1) с точки зрения компьютера следовало бы заменить английские слова русскими просто в порядке их следования, тогда получим: “Читать только память”.
2) с точки зрения человека–переводчика следовало бы учесть грамматику английского языка и начать перевод с конца фразы, а также согласовать элементы: “Память только для чтения”.
Очевидно, кроме непосредственно исходных данных (в данном случае это слова “читать”, “только”, “память”) необходимо учитывать также и правила перевода. А что такое правила перевода? Как отразить их в программе-переводчике? Вот тут и возникает новое понятие — знания, неразрывно связанное с проблемами создания и применения ИИ.
Знания — основной термин теории искусственного интеллекта. Очень интуитивно и довольно спорно знания можно определить как отношения между элементами данных.
Например, машина получила на вход следующее предложение: “Вася любит Катю”. Здесь Вася и Катя — данные. Термин любит — это отношение. Отношение “любит” не обладает симметричностью. Зная это, машина может сгенерировать вполне осмысленный ответ: “Совсем не обязательно, что Катя любит Васю”.
Вернемся к примеру с переводом. Представим его графически (рис. 2). Видно, что схема перевода позволяет точно определить правильное направление перевода. Она неизменна для русского и английского вариантов. Вот эта схема, получаемая из каких–то внешних источников, не содержащаяся в исходной фразе, и есть знания.
| Читать | Только | Память |
| × | ||
| read | only | memory |
| × | подчинение | |
| главное слово | Память |
Рис.2. Отношения между элементами данных
Другими словами,
знания получаются в результате применения
к исходным данным (их могут называть
декларативной информацией) некоторых
методов обработки, подключения каких–либо
внешних процедур (их еще называют присоединенными
процедурами или процедурной информацией).
Необходимость установления отношений
между сущностями требует совершенно
нового подхода и, соответственно, новых
программных средств. Работа программы
искусственного интеллекта заключается
в “выводе на знаниях” или “выводе новых
знаний”. Этот процесс схематично представлен
на рис. 3.
Рис.3. Вывод на знаниях
Рассмотрим другой пример. Человек смотрит на часы. Что он видит? Данные? Информацию? Знания? Проследим, насколько это возможно, действия человека. Итак, глаза смотрят на циферблат. В мозг поступает электрический сигнал, в мозге формируется изображение стрелок на циферблате. Далее, сознательно или подсознательно человек прикладывает некоторые умственные усилия, чтобы понять (по положению стрелок) сколько же сейчас времени (т. е. соотносит полученные данные с некоторой шкалой). Получив в итоге декларативную информацию, например 17:20, человек подключает внешние знания, например свое рабочее расписание, понимает что опаздывает (знания) и ускоряет шаг (меняет параметры своего поведения, т. е. данные).
Характерная особенность знаний состоит в том, что они не содержатся в исходной системе. На циферблате часов не было написано “опаздываю”. Слово “опаздываю” не содержалось и в расписании этого человека. Знания возникают в результате сопоставления информационных единиц, нахождения и разрешения противоречий между ними. Т. е. знания активны, их появление (или нехватка) приводит к реализации некоторых действий.
Для знаний характерны следующие свойства:
- внутренняя интерпретируемость (каждая информационная единица должна иметь уникальное имя и однозначно определяться);
- структурированность, т. е. между информационными единицами должны быть установлены отношения (например, “часть — целое”, “род” — “вид” и др.)
- знания образуют некоторое пространство, которое может оказаться как метрическим(измеряемым), так и не метрическим(не поддающимся измерению).
Установление имен для информационных единиц, самовыделение этих единиц на конкретном объекте, определение отношений, имеющих место между единицами, — сложная задача. Для реально существующих объектов с относительно простой структурой иногда возможно единственное разбиение на информационные единицы и отношения. Например, для системы “собака – хвост” трудно придумать иную модель кроме “хвост является частью собаки”.
Для сложных систем, и в первую очередь абстрактных, не всегда можно сразу понять, где “целое” и где “часть” и как они между собой соотносятся. Рассмотрите, например, систему “курс доллара”, для которой неясно, что входит в список важных параметров, а что нет. Или систему “жук”, у которого нет отдельно головы и отдельно груди, а есть “головагрудь”.
Решением этих проблем занимается отрасль ИИ, именуемая “инженерия знаний”. Далее мы последовательно уточним эти вопросы.
Состояние — второй важнейший термин. Каждая информационная единица, как и вся система в целом, может находиться в одном из состояний. Например, лампочка может находиться в одном из состояний: включен — выключен. В данном случае множество состояний содержит 2 элемента (рис. 4).
Рис.4. Пространство состояний системы и таблица переходов
Есть системы, для которых множество состояний бесконечно. Пространство состояний удобно представлять в виде таблицы переходов(рис. 4).
Переход системы из состояния в состояние может обладать свойством симметричности. В этом случае система способна вернуться в исходное состояние (а компьютерная программа — зациклиться).
Цель — основная характеристика системы ИИ. Система искусственного интеллекта (или интеллектуальная программа) отличается от традиционных программ свойством целеустремленности. Интеллектуальная программа в отличие от обычной не содержит жесткий алгоритм, а содержит цель, которую нужно достичь и правила движения к этой цели. Можно сказать, что программа ИИ — это программа того “что нужно сделать”, а традиционная — “как нужно делать”. В традиционной программе алгоритм достижения цели задан изначально и выполняется с неизбежностью, в интеллектуальной программе алгоритм строится по ходу достижения цели с учетом складывающейся ситуации.
Для программиста, создающего на системы ИИ, очень важно уметь правильно ставить цели. От того, насколько точно и экономично будет поставлена цель, зависит не только эффективность решения, но и ее принципиальная достижимость.
В качестве целей в интеллектуальных
программах чаще всего задаются требования
перехода системы в заданное состояние,
а в качестве критерия эффективности
— число шагов решения. Очевидно, что достижение
цели не всегда возможно без указания
начального состояния (рис. 5).
Цель – оказаться в Томске,
начальное
состояние неизвестно
Рис.5. Пространство состояний с циклами
Модель представления знаний — основной тип моделей ИИ. Реализация конкретных систем, основанных на знаниях, происходит в рамках одной из моделей преставления знаний или языка представления знаний. Таких моделей немного и ниже они будут рассмотрены. Реальные системы редко основаны на одной из моделей в ее классическом понимании. Чаще всего реальная система — это гибрид из классических моделей со значительной долей собственных догадок, ограничений и условностей. Наиболее полезные из них называют эвристиками.
Предметная область — это область человеческой деятельности, к решению задач которой применяется теория ИИ. Например, если создается экспертная система, которая по набору результатов анализов ставит диагноз больному, то предметная область — медицина. Если вы создается интеллектуальная система предотвращения столкновения кораблей, то предметная область — навигация и т.д. Создание интеллектуальных программ, действительно полезных для практикующих специалистов, требует глубокого понимания специфики, присущей каждой предметной области. Для практикующих специалистов “специфика” — это в наибольшей мере набор нечетких и неясных, выработанных годами правил разрешения складывающихся ситуаций.
Одна из первых задач инженера по знаниям (специалиста по ИИ) состоит как раз в том, чтобы формализовать (записать) эти правила. Проблема на этом этапе состоит в том, что предметные специалисты (эксперты) часто обладают только интуитивным видением предмета обсуждения и формально не способны обосновать свою точку зрения. Попытка “выведать” подсознательные причины уверенности эксперта в некотором факте (например, “почему температура живого человека не может превысить 43°С?”) часто вызывает недоумение и даже досаду. У эксперта начинает складываться мнение, что ему “подсунули некомпетентного в наших вопросах человека, и какую, собственно, “умную” программу он может написать, если не отличает крови от плазмы!” Поэтому на первом этапе, выделяя те самые важные понятия — “имена” предметной области, которые в дальнейшем предстоит детально изучить, инженер по знаниям должен продемонстрировать еще и способности тонкого психолога, способного “влезть в мозги” эксперта, не вызвав при этом резкой ответной реакции с его стороны.
На втором этапе следует выделить отношения, которые связывают “имена”, важные для данной предметной области и состояния, в которых эти “имена” могут находиться. Например, для системы предотвращения столкновения кораблей важными именами будут: “вода”, “корабль”, “столкновение” и др. Имя “вода” будет иметь несколько состояний: “высокая”, “мелкая”, “спокойная”, “бурная” и ряд других гораздо менее очевидных. Между именами “вода” и “корабль” будет находиться отношение “погружен”. И вот тут то и возникает проблема непонимания. Что значит “погружен”? А если судно на воздушной подушке? А если это подводная лодка? Существует большое количество предметных областей (медицина — одна из наиболее показательных), где предметные специалисты уже не способны ответить на эти вопросы. Их образование не предусматривает детального рассмотрения основополагающих понятий и отношений, а требует только их знаний и принятия “на веру”. Важным также является вопрос о “силе” отношения: “насколько погружен?”, “еще плывет или уже тонет?” и т.п.
За годы профессиональной деятельности специалист по ИИ сталкивается с десятками предметных областей и экспертов. Ясно, что он не может стать равным им врачом, навигатором, военным, игроком и т.п. Равно как и эксперты в предметной области, пусть даже компетентные еще и в вопросах программирования и разработки традиционных программ, не способны создать программу ИИ. Изюмина деятельности инженера по знаниям заключается не в личном детальном знании предметной области и современных способов создания программ, а в способности выделять общее в казалось бы различных областях, строить универсальные математические, а при невозможности — нечеткие логико–лингвистические модели.
Невозможность (в чистом виде) применить одну из ранее известных моделей — одно из основных ограничений, накладываемых предметной областью.
1.3. Современные области исследований в искусственном интеллекте
В последнее десятилетие прошлого века ясно обозначились следующие важные направления развития систем искусственного интеллекта.
- Системы, имитирующие творческие процессы, характерные лишь для человека, такие как создание музыкальных произведений, решение игровых задач (шахматы, шашки, домино), автоматический перевод, доказательство теорем, распознавание образов, имитация мышления и т.п.
- Информационные системы, основанные на знаниях (экспертные системы), т. е. консультирование малоопытных пользователей, настройка оборудования, обучение и др.
- Интеллектуальные информационные системы — большие и очень большие программы, предназначенные для решения задач в предметной области на основе математических и алгоритмических моделей и обладающие способностью вести осмысленный диалог с пользователем с целью упростить управление, сократить объем работы человека, повысить качество и т.п.
- Робототехника. С точки зрения “интеллектуальности” различают несколько поколений роботов. Первое поколение — роботы–манипуляторы, действующие по заранее утвержденной и неизменной программе (например, подающие заготовки к станку). Если в процессе работы по каким-либо причинам изменится расстояние до заготовки, робот ее потеряет. Второе поколение — адаптивные роботы. Рабочие органы таких роботов оснащены большим количеством датчиков: угломеров, тензометров, газовых анализаторов и др. Эти роботы применяются, например, для сварки кузовов автомобилей. Дело в том, что достаточно крупные технические изделия, даже выпускаемые серийно, все равно получаются уникальными. Длина двух автомобилей одной и той же марки немного различна. Адаптивный робот делает сварной шов не в абсолютных координатах, а относительно некоторой точки начала отсчета, которую сам же и находит на кузове автомобиля. При необходимости человек-сварщик берет управление на себя, а робот, запоминая его действия в новой ситуации, “обучается”. Первые два вида роботов — промышленные роботы, сконструированные для работы в заранее определенной среде — в цехе завода. Для ориентации и точного позиционирования в пространстве цеха имеется большое количество контрольных точек — датчиков, координаты которых неизменны. Гораздо сложнее роботу, который находится в реальном мире, например, обследует затонувший корабль. Приходится отвечать на вопросы: “где я?”, “что передо мной?”, “можно ли пройти к …?” и др. Интеллектуальным роботам приходится обрабатывать данные своих датчиков и команды человека в реальном режиме времени, а если предусмотрен еще и прогноз событий, то в “сверхнатуральном” (применяются, например, для управления транспортными средствами). Схожие проблемы возникают у поисковых роботов(спайдеров) — особого класса программ, предназначенных для индексирования документов в глобальной сети Интернет, что обеспечивает работу поисковых машин типа Рамблер, Яндекс и других, подобных им.
1.4. Современные теоретические проблемы искусственного интеллекта
Развитие ИИ сопровождается решением ряда проблем, вызванных чрезвычайной сложностью и неоднозначностью работы органов и систем человеческого организма — “естественного интеллекта” — работа которого и побудила исследователей создавать его механический аналог. Эти проблемы можно условно представить следующими основными категориями.
1. Проблема представления знаний в моделях искусственного интеллекта.
1.1. Разработка новых моделей представления для узкоспециализированных предметных областей.
1.2. Биомашины — машины, имеющие своей частью живые существа, либо структурно подражающие человеку.
1.2.1. Подражание моторике человека (походка, пластика, бег, прыжки, создание двуногих роботов).
1.2.2. Создание инженерных моделей для различных областей по аналогии с системами человеческого организма.
1.3.
Многокритериальное принятие
1.4. Принятие решений на основе статистических моделей.
1.5. Координация работы нескольких роботов.
1.6.
Проблемы совершенствования
2.
Проблема совершенствования
2.1. Разработка новых архитектур компьютеров (параллельные ЭВМ, исследования в области так называемой интегрированной памяти, децентрализованные машины, моделирование высокоскоростных электрических соединений).
2.2. Человекообразные роботы.
2.2.1. Гибкие и портативные члены роботов (головы, руки, тела и т.д.).
2.2.2. Распознавание роботами лиц людей, допущенных для управления этими роботами.
2.2.3. Разработка механизмов роботов (человекоподобный палец с сенсорами, человекоподобная модель мускулатуры, воспроизведение речи человека, создание роботов для детей).
2.2.4. Численные методы для оптимизации вычислений.
2.3. Методы доступа к информации.
2.3.1. Мультимедийные системы.
2.3.2. Эвристический анализ текстов.

- Различные модели методической службы в развивающейся школе
- Различные модели оценки кредитоспособности заемщика
- Различные модели строения атома
- Различные научные подходы к управлению организации
- Различные оборудования для измельчения, штамповки и формования
- Различные определения бизнес-процесса
- Различные определения коммунизма
- Различные виды дисперсии. Правило сложения дисперсии
- Различные виды складов
- Различные виды социального страхования
- Различные затраты
- Различные классификации знаков
- Различные классификации страхования и их смысл
- Различные концепции жизненного цикла организации