Добавил:
natribu.org Все что нашел в интернете скидываю сюда Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Точно Не проект 2 / Не books / Источник_1

.pdf
Скачиваний:
9
Добавлен:
01.02.2024
Размер:
20.67 Mб
Скачать

10

Предисловие

 

 

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

Для изучения учебного пособия требуются знания в области программирования и ЭВМ, высшей математики, теории информации и математической статистики. Материал учебного пособия логически состоит из двух частей и рассчитан на двухсеместровый курс с общим объемом 216 часов. В первой части рассматриваются общие принципы ИИ, языки Лисп и Пролог (главы 1 – 6). Включение этих языков в учебный курс обусловлено несколькими обстоятельствами. Во-первых, требованиями упомянутой выше программы, в соответствии с которой студенты должны обладать необходимыми знаниями и умениями в области языков функционального и логического программирования, к которым относят Лисп и Пролог. Вовторых, особенностями учебного плана по направлению “Компьютерные науки”, которым не предусмотрено отдельное изучение указанных языков. В-третьих, широким использованием этих языков при создании прототипов интеллектуальных систем. В-четвертых, стремлением авторов наполнить пособие примерами реализации соответствующих принципов ИИ, и сделать его удобным для чтения широким кругом читателей. Во второй части рассматриваются различные направления ИИ (главы 7 - 10). При этом в зависимости от специализации студентов, слушающих курс, основные акценты могут быть сделаны на различных направлениях ИИ. Авторы рекомендуют изучать первую часть курса в рамках программы подготовки бакалавров, а вторую – в рамках программ подготовки специалистов или магистров. При чтении первой части рекомендуется следующий порядок изуче-

ния глав и параграфов: 1, 2, 5, 3, 4.1, 6.1 – 6.10, 4.2 – 4.3, 6.11. Это позволя-

ет параллельно с лекционным курсом проводить занятия лабораторного практикума на языках Лисп и Пролог.

Учебное пособие основано на материалах лекций, прочитанных авторами для студентов старших курсов Севастопольского национального технического университета и Швейцарского федерального технологического университета (ETH, г. Цюрих). Книга предназначена для студентов, обучающихся по направлению “Компьютерные науки”, специальность “Информационные управляющие системы и технологии”. Она будет полезна студентам, обучающимся по направлениям “Компьютерная инженерия” и “Компьютеризированные системы автоматики и управления”, а также разработчикам интеллектуальных систем.

Предисловие

11

 

 

В заключение авторы благодарят профессора Г. Сцекели и администрацию ЕТН за помощь в издании книги, а также рецензентов – д-ра техн. наук B. B. Мохора, д-ра физ.-мат. наук А.М. Суворова и д-ра техн. наук, профессора С.Ф. Теленика за доброжелательную критику и полезные замечания, которые способствовали улучшению книги. Особую благодарность авторы выражают д-ру техн. наук, профессору В.К. Маригодову за его большой труд по редактированию рукописи, а также канд-ту техн. наук Карлусову В.Ю. за внимательное первое чтение рукописи и многочисленные замечания. Авторы признательны доктору Дж. Кризу, любезно предоставившему материалы, использованные в 6 и 7 главах книги.

Введение, главы 1,3,4,6,7,8,9 написаны В.Н. Бондаревым, глава 10 написана Ф.Г. Аде, главы 2 и 5 написаны авторами совместно.

Отзывы и предложения просьба направлять по адресу: Украина, 99053, г. Севастополь, Студгородок, Севастопольский национальный технический университет, НМЦ.

12

Список сокращений

 

 

 

СПИСОК СОКРАЩЕНИЙ

АМ

– акустическая модель

АРР

– автоматическое распознавание речи

АРТ

– теория адаптивного резонанса

АСУП

– автоматизированная система управления производством

БД

– база данных

БЗ

– база знаний

ЕЯ

– естественный язык

ЗКР

– список закрытых вершин

ИИ– искусственный интеллект

ИНС

– искусственная нейронная сеть

ИР

– интеллектуальный робот

ИС

– интеллектуальная система

ЛНЭ

– линейный непрерывный элемент

ЛПК

– линейное предиктивное кодирование

ЛПР

– лицо, принимающее решение

ЛПЭ

– линейный пороговый элемент

МР

– магнитный резонанс

НОУ

– наиболее общий унификатор

НЭ

– нейроподобный элемент

ОТК

– список открытых вершин

ПЗС

– приборы с зарядовой связью

ПО

– программное обеспечение

ППФ

– правильно построенная формула

ПрО

– предметная область

ПСИИ

– производственная система с искусственным интеллектом

ПЭ

– процессорный элемент

РСП

– расширенная сеть переходов

СИИ

– система искусственного интеллекта

СММ

– скрытая Марковская модель

СПЗИ

– система поддержания значений истинности

СУБД

– система управления базой данных

ТДШ

– теория Демпстера-Шефера

УК

– правило универсальной конкретизации

ФС

– формальная система

ЦФ

– цифровой фильтр

ЭК

– правило экзистенциональной конкретизации

ЭС

– экспертная система

ЯПЗ

– язык представления знаний

ГЛАВА 1

ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ

Искусственный интеллект (ИИ) – быстро развивающееся направление современной информатики. Основной целью исследований, выполняемых в ИИ, является разработка компьютерных систем, способных выполнять функции, которые свойственны интеллекту человека. Попытки создания таких систем начали предприниматься с конца 40-х годов предыдущего столетия, когда были разработаны первые ЭВМ. Поэтому ИИ – относительно молодое научное направление, которое лежит на стыке разнообразных дисциплин, таких, как дискретная математика, лингвистика, психология, программирование, математическая статистика и др.

Диапазон исследований, выполняемых в рамках ИИ, весьма широкий. Он включает решение как общих проблем, например, представление знаний и логический вывод, так и специальных – игра в шахматы, доказательство теорем, сочинение стихов и т.п.

В главе рассматриваются наиболее распространенные определения понятия “искусственный интеллект”, описываются этапы развития ИИ, анализируются основные направления исследований.

1.1. Понятие “искусственный интеллект”

Несмотря на все попытки дать точное определение понятию “искусственный интеллект”, строгого определения не существует. Поэтому будет полезным, по крайней мере, обозначить границы этого понятия. С этой целью рассмотрим наиболее распространенные определения. Так, И. Рич по-

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

14

Глава 1

ся человеком и плохо компьютером. Это означает, что проблематика ИИ меняется со временем. В этом смысле, близким к рассмотренному определению является определение, предложенное Дж. Аленом: “ИИ – это наука о создании машин, решающих задачи, которые могут решать лю-

ди…”[57]. Можно отметить, что данное определение охватывает многие исследования, выполняемые в области компьютерных наук. Например, сложение чисел – задача, которую могут решать люди. Тем не менее, мы сейчас вряд ли назовем эту задачу интеллектуальной. Однако если суммирующее устройство было бы предъявлено человечеству в средние века, то оно, безусловно, было бы отнесено к разряду интеллектуальных. Это говорит о том, что наши представления о “думающей машине” эволюционируют во времени. Поэтому в фокусе искусственного интеллекта оказываются те задачи, которые успешно решаются человеком и плохо – компьютером. Сегодня к проблематике ИИ относятся задачи, связанные со зрительным восприятием, пониманием изображений, пониманием естественного языка (текста или речи), умением рассуждать, выявлением закономерностей, планированием действий и др.

Введенные выше определения ИИ являются сравнительными. Они сопоставляют возможности человека и машин. В 1950 году был предложен эмпирический тест А. Тьюринга для определения уровня интеллектуальности машин. В соответствии с тестом эксперт с помощью телетайпа мог вступать в диалог либо с компьютером, либо с человеком. Тьюринг предложил считать поведение компьютера интеллектуальным, если в диалоге участвовал компьютер, а эксперт был не в состоянии определить, с кем он ведет диалог. Тест Тьюринга не рассматривает механизмы формирования ответов на вопросы эксперта, и, следовательно, позволяет исключить все вопросы об “истинной” природе интеллекта. Несмотря на ряд недостатков, тест Тьюринга создал основу для оценки многих современных систем ИИ. Например, качество функционирования экспертных систем определяется по сравнению с решениями, предлагаемыми человеком. Такая оценка является простой разновидностью теста Тьюринга. Часто тест Тьюринга критикуют за антропоморфизм (уподобление человеку, наделение человеческими свойствами предметов неживой природы), так как он предписывает машине имитировать поведение человека. В то же время машинный интеллект отличается от интеллекта человека, и, вероятно, попытка уподобления его естественному интеллекту ошибочна. Например, нежелательно, чтобы машины выполняли вычисления подобно человеку, т.е. слишком медленно и неточно. Поэтому многие исследователи полагают, что тест Тьюринга отвлекает силы от решения основной задачи ИИ – разработки общей теории машинного интеллекта, и использования этой теории для разработки интеллектуальных систем, решающих практические задачи. Тем не менее,

Основные понятия и определения

15

отметим важность теста Тьюринга для оценивания качества современных программ ИИ.

Под воздействием указанной критики были предложены иные определения ИИ, например:

-ИИ – ветвь информатики, которая связана с автоматизацией интеллектуального поведения [77];

-ИИ – это наука о вычислениях, которые делают возможными восприятие, логический вывод и действие [95];

-ИИ – это информационная технология, связанная с процессами логи-

ческого вывода, обучения и восприятия [91].

Синтезируя подобные определения из различных источников, введем следующее рабочее определение.

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

Работы в области ИИ в значительной степени имеют эмпирическую и инженерную ориентацию. Создаваемые системы искусственного интеллекта (СИИ) совершенствуются в экспериментальных условиях. В результате разрабатываются некоторые универсальные процедуры, применимые к широкому классу задач. Именно такие процедуры, составляющие основу большинства СИИ, и рассматриваются в следующих главах книги.

ИИ прошел в своем развитии несколько этапов. Каждый из этапов можно охарактеризовать господствующей научной идеей (парадигмой). Чтобы глубже понять предмет ИИ полезно рассмотреть смену парадигм ИИ на разных этапах его развития. Если на предшествующих этапах развития ИИ создавались сосредоточенные, централизованные интеллектуальные системы, то нынешний этап развития ИИ характеризуется переходом к коллективистским представлениям о природе интеллекта. В этой связи основными тенденциями развития ИИ на нынешнем этапе является интеграция и децентрализация.

Рассмотрим подробнее этапы развития ИИ.

1.2. Этапы развития искусственного интеллекта

Исследования в области ИИ начались сразу же после появления первых электронных компьютеров. За 50 лет ИИ прошел в своем развитии несколько этапов. Опишем их в хронологическом порядке.

16

Глава 1

Становление искусственного интеллекта (1943 - 1956 гг.). Работы в области искусственного интеллекта начались с зарождения нейрокибернетики. Связано это было с тем, что основу мозга образуют нервные клетки

– нейроны. Поэтому исследователи в ранний период развития ИИ пытались строить разумные машины, имитируя поведение коллектива нейронов. В 1943 г. У. Маккаллох и У. Питтс предложили модель формального логического нейрона, который мог находиться в двух устойчивых состояниях. Д. Хебб (1949 г.) разработал простое правило, позволяющее изменять веса связей между нейронами с целью их обучения. В 1951 году М. Минский и Д. Эдмондс разработали нейрокомпьютер, который содержал 40 нейронов. Эти первые работы в области ИИ обозначили два основных подхода к разработке СИИ – логический и коннекционистский.

Термин “искусственный интеллект” был предложен на семинаре с аналогичным названием, который проходил в Дартсмутском колледже (США) летом 1956 года. Семинар был организован М. Минским и Дж. Маккарти. Среди участников семинара были Г. Саймон и А. Ньюэлл, которые разработали программу “Логик-теоретик”, предназначенную для доказательства теорем в исчислении высказываний. Именно этих четырех исследователей считают “отцами” ИИ. М. Минский и Дж. Маккарти основали лабораторию ИИ в Массачусетском технологическом институте, а Г. Саймон и А. Ньюэлл в университете Карнеги-Меллона. Позже Дж. Маккарти перешел в Стэнфордский университет. В этих трех университетах, а также в Эдинбургском университете выполнялись первые работы, обеспечившие становление ИИ.

Эвристический поиск и доказательство теорем (1956 – 1969 гг.).

Работы Г. Саймона и А. Ньюэлла по созданию программы “Логиктеоретик” были завершены в 1957 г. С помощью этой программы был успешно доказан ряд теорем из книги Уайтхеда и Рассела “Principia mathematica”. Один из недостатков программы состоял в том, что она неэффективно осуществляла поиск решений. А. Ньюэлл и Г. Саймон заинтересовались общими методами поиска решений, приступив к созданию следующей программы, которую назвали “Универсальный решатель задач”. Эту программу обычно называют GPS по первым буквам английского названия General Problem Solver. GPS разрабатывалась с целью имитации процесса решения задач человеком и базировалась на идеях эвристического поиска. Эвристика – правило, полученное опытным путем, которое позволяет сократить количество переборов в пространстве поиска решений.

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

Основные понятия и определения

17

ским правилам, которые направляли поиск к искомой цели. GPS была, вероятно, первой программой, которая использовала способы рассуждений, свойственные человеку.

Вэтот же период Дж. Маккарти создает язык Лисп, который становится доминирующим языком программирования систем ИИ. В 1958 году Маккарти публикует статью “Программы и здравый смысл”, в которой описывает гипотетическую программу “Advice Taker”, центральной идеей которой было представление знаний и логический вывод.

Идея Маккарти использовать логику для построения СИИ была развита в работах Дж. Робинсона. В 1965 г. Робинсон разрабатывает метод резолюций, который позволяет автоматизировать процесс доказательства теорем при наличии исходных аксиом. Логические представления кладутся

воснову вопросно-ответной системы, разработанной К. Грином (1969 г.), и

воснову робота “Шейки”, который был создан в 1969 г. в Стэнфордском исследовательском институте.

Вначале 60-х годов интенсивно развивались исследования в области нейронных сетей. Правило адаптации весов связей нейронных элементов, предложенное Д. Хеббом, было усовершенствовано в работах Б. Уидроу (1962 г.), который разработал нейронную сеть под названием Adaline, а также в работах Ф. Розенблатта, создавшего персептрон (1962 г.). Персептрон Розенблатта представлял собой устройство, предназначенное для распознавания зрительных образов. В частности, с помощью персептрона можно было различать буквы алфавита. Розенблатт доказал теорему сходимости персептрона, обеспечившую теоретическую базу алгоритмам обучения персептрона. Однако возможности персептрона Розенблатта оказались весьма ограниченными. Он не мог распознавать частично закрытые буквы, а также буквы иного размера, нежели те, которые предъявлялись ему в процессе обучения. Вскоре М. Минский в соавторстве с С. Пейпертом (1969 г.) написал книгу, в которой доказал, что персептрон Розенблатта не в состоянии выполнять многие функции, предсказанные Розенблаттом. Это привело к сокращению ассигнований, выделяемых на развитие нейроинформатики, о чем позже Минский высказывал сожаление.

Таким образом, к концу 60-х годов основное внимание в области ИИ стало уделяться методам представления задач и поиску решений, в частности, представлению задач в логической форме и автоматическому доказательству теорем на основе метода резолюций.

Представление знаний (1969 – 1979 гг.). К концу 60-х годов было обнаружено, что для решения практически важных задач недостаточно одних знаний общего характера (общих стратегий поиска решений). Успешное решение прикладных задач возможно только при наличии хорошо структурированных специальных знаний.

18

Глава 1

Программа DENDRAL, разработанная в 1969 году Э. Фейгенбаумом, Б. Букхененом и Э. Ледербергом, содержала детальные сведения из области органической химии и помогала химикам определять молекулярную структуру неизвестных органических соединений по данным, получаемым с помощью масс-спектрометра. Масс-спектрометр, разделяя молекулы на фрагменты, измеряет массу и электрический заряд каждого из фрагментов. Чтобы определять множество форм молекул, которые могут состоять из таких фрагментов, в программе DENDRAL использовались эмпирические знания химиков, представленные в форме правил “если-то”. Это позволило резко сократить число предлагаемых вариантов решений.

DENDRAL была первой успешно реализованной программой, аккумулирующей знания экспертов. Такие программы получили название “экспертные системы”. Они содержали большой объем практических знаний, что позволяло им давать ответы на специальные вопросы в той или иной области.

Вдохновленные успехом программы DENDRAL Э. Фейгенбаум, Б. Букхенен и Э. Шортлифф разрабатывают экспертную систему MYCIN. Система MYCIN содержала около 450 правил, позволяющих диагностировать инфекционные заболевания крови. Важным отличием системы MYCIN от DENDRAL было то, что MYCIN позволяла осуществлять правдоподобные заключения на основе ненадежных знаний. С этой целью факты и правила в системе MYCIN характеризовались коэффициентами уверенности.

Авторы системы MYCIN пошли дальше, когда удалили из нее базу знаний, т.е. всю медицинскую информацию. Оставшаяся часть системы содержала только логику управления правилами и была названа EMYCIN (пустая MYCIN). EMYCIN представляла собой оболочку экспертной системы, которую можно было наполнять знаниями. Подобные системы стали применять в самых разных областях – от определения конфигурации компьютерных систем до геологической разведки.

Искусственный интеллект перестал быть чистой наукой и начал приносить практическую пользу. Большой успех имела экспертная система PROSPECTOR (1979 г.), с помощью которой были открыты залежи молибдена. В системе PROSPECTOR база знаний представлялась в виде семантической сети. Система обеспечивала взаимодействие с пользователем на естественном языке.

Семантические сети были предложены в 1967 году М. Куиллианом. В это время важность предметных знаний стала осознаваться при решении задачи понимания естественного языка. Существенный шаг в этом направлении сделал Виноград, который разработал программу SHRDLU (1968 г.). Программа содержала знания о некотором игрушечном мире, в котором

Основные понятия и определения

19

можно было перемещать с помощью естественно-языковых команд кубики и пирамиды.

Дальнейшее совершенствование систем понимания естественного языка связано с именами Р. Шенка и В. Вудса. Шенк разработал программу, преобразующую входные естественно-языковые высказывания к элементарным концептам, которые можно было представлять в памяти ЭВМ. В дальнейшем в сотрудничестве с Р. Абельсоном он разработал модель представления знаний, называемую “скриптами”, или сценариями. Шенк использовал скрипты в программе SAM, которая могла интерпретировать рассказы. В 1973 году В. Вудс создает систему LUNAR, которая позволяла геологам задавать вопросы на естественном языке относительно образцов пород, доставленных с Луны. LUNAR была первой используемой на практике системой с естественно-языковым интерфейсом доступа к базе данных.

Расширение приложений СИИ требовало развития моделей представления знаний. В рассматриваемый период были разработаны различные языки представления знаний. Некоторые из них базировались на логике. Так, в 1973 году А. Колмероэ создает язык логического программирования Пролог, ставший популярным в Европе. В США создается язык PLANNER, поддерживающий предикатный уровень представления знаний. Часть языков использовала теорию фреймов, предложенную М. Минским (1975 г.). Фрейм представляет информационную структуру, состоящую из слотов, в которых собраны характеристики и соответствующие значения, обеспечивающие описание объектов или понятий. Фреймы организуются в иерархические сети, что позволяет экономно представлять знания в памяти ЭВМ. Для работы с фреймовыми моделями представления знаний были разработаны языки FRL, KRL, GUS и др.

Коммерческий успех (1979 – 1988 гг.). Первой интеллектуальной системой, нашедшей применение в промышленности, стала экспертная система К1, разработанная Мак-Дермоттом (1982 г.). Система К1 применялась для определения конфигурации компьютерных систем семейства VAX. Коммерческая версия системы, разработанная корпорацией Digital Equipment совместно с университетом Карнеги-Меллона (США), получила название XCON. К 1986 году система XCON позволяла корпорации Digital Equipment экономить 70 млн. долларов ежегодно. Кроме этого, применение системы сократило число ошибок с 30% до 1%.

Экспертные системы начинают широко применяться и в других корпорациях и фирмах, например, American Express сократила свои затраты на 27 млн. долларов в год благодаря экспертной системе, управляющей выдачей кредитов.

Соседние файлы в папке Не books