На главную

Методические материалы
по курсу
"ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ"






©  С.Хабаров, 2013 г.
ОСНОВНЫЕ НАПРАВЛЕНИЯ РАЗВИТИЯ
СИСТЕМ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА







1. Классификация интеллектуальных систем

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

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

Понятие «интеллект» многогранно, поэтому существует значительное количество разновидностей интеллектуальных систем, которые целесообразно классифицировать:



2. Основные направления развития систем ИИ

Задача исследований в области искусственного интеллекта (ИИ) — это разработка информационных систем на базе компьютерной техники, что и определяет две основные группы направлений развития ИИ:

Безусловным приоритетом в группе технических систем на сегодня пользуются нейрокомпьютеры и интеллектуальные роботы.

Значительно более широкой является группа направлений развития программных систем ИИ (рис. 2):



Рис. 2. Основные направления развития интеллектуальных систем.

2.1. Искусственный интеллект и ведение игр

Поиск в пространстве состояний – это метод решения проблемы, в котором систематически просматривается возможное пространство состояний задачи. Примеры таких состояний задачи могут быть :

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

Многие ранние исследования в области поиска в пространстве состояний совершались на основе таких распространенных настольных игр, как шашки, шахматы и пятнашки. Вдобавок к свойственному им интеллектуальному характеру такие игры имеют некоторые свойства, делающие их идеальным объектом для экспериментов. Большинство игр ведутся с использованием четко определенного набора правил:

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

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

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

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

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

2.2 Автоматическое доказательство теорем

Можно сказать, что автоматическое доказательство теорем – одна из старейших частей искусственного интеллекта. Благодаря исследованиям в области автоматического доказательства теорем были формализованы алгоритмы поиска и разработаны языки формальных представлений, такие как исчисление предикатов и логический язык программирования PROLOG.

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

К сожалению, в ранних пробах написать программу для автоматического доказательства теорем не удалось разработать систему, которая бы единообразно решала сложные задачи. Это было обусловлено способностью любой относительно сложной логической системой сгенерировать бесконечное количество доказуемых теорем: без мощных методик и эвристик, которые бы направляли поиск, программы доказывали большие количества не относящихся к делу теорем, пока не натыкались на нужную.

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

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

Еще одной причиной неувядающего интереса к автоматическому доказательству теорем является понимание, что системе не обязательно решать особо сложные проблемы без человеческого вмешательства. Многие современные программы доказательств работают как умные помощники: люди разбивают задачи на подзадачи и продумывают эвристики для перебора в пространстве возможных обоснований; затем программа для автоматического доказательства теорем решает более простые задачи доказательства лемм, проверки менее существенных предположений и дополняет формальные аспекты доказательства, очерченного человеком

2.3. Понимание естественных языков и семантическое моделирование

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


Рис. 5. Структура простейшей системы распознавания речи.

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

Представьте себе, к примеру, трудности в разговоре о футболе с человеком, который ничего не знает об игре, правилах, ее истории и игроках. Способен ли такой человек понять смысл фразы:

В центре Иванов перехватил верховую передачу – мяч полетел к штрафной соперника, там за него на «втором этаже» поборолись Петров и Сидоров, после чего был сделан пас на Васина в штрафную, который из-под защитника подъемом пробил точно в дальний угол.

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

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


Рис. 6. Структура усовершенствованной системы распознавания речи.

Из-за огромных объемов знаний, нужных для понимания естественного языка, большая часть работ идет в специализированных областях, которые хорошо изучены и понимаемы. Одной из первых программ, использовавших такую методику «микромира», была программа Терри Винограда SHRDLU – система понимания естественного языка, которая могла «беседовать» о простом взаимном расположении блоков разных форм и цветов (рис. 7).


Рис. 7. Пример работы программы SHRDLU ( http://ru.wikipedia.org/wiki/SHRDLU).

Программа SHRDLU могла отвечать на вопросы типа: «Какого цвета блок на синем кубике?», а также планировать действия вроде «передвинь красную пирамидку на зеленый брусок». Задачи этого рода, включая управление размещением блоков и их описание, на удивление часто всплывали в исследованиях искусственного интеллекта и получили название проблем «мира блоков». Несмотря на успехи программы SHRDLU в разговорах о расположении блоков, она была не способна абстрагироваться от мира блоков. Методики представления, использованные в программе, были слишком просты, чтобы передать семантическую организацию более богатых и сложных предметных областей.

Основная часть текущих работ в области понимания естественных языков направлена на поиск формализмов представления, которые должны быть достаточно общими, чтобы применяться в широком круге приложений и уметь адаптироваться к структуре заданной области. Большая часть этих методик является развитием моделей семантических сетей.

2.4. Планирование и робототехника

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


Рис. 8. Интеллектуальные роботы играют в футбол.

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

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

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

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

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

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

2.5. Машинное обучение

Машинное обучение является «крепким орешком» искусственного интеллекта. Важность машинного обучения велика, поскольку эта способность является одной из главных составляющих разумного поведения. Например, экспертная система может выполнять долгие и трудоемкие вычисления для решения проблем. Но, в отличие от человеческих существ, если дать ей такую же или подобную проблему второй раз, она не «вспомнит» решение. Она каждый раз вновь будет выполнять те же вычисления – едва ли это похоже на разумное поведение.

Большинство экспертных систем ограничены негибкостью их стратегий принятия решений и трудностью модификации больших объемов кода. Очевидное решение этих проблем – заставить программы учиться самим на опыте, аналогиях или примерах.

Хотя машинное обучение является трудной областью, существуют некоторые программы, которые опровергают опасения о ее неприступности. Одной из таких программ является АМ – Автоматизированный Математик, разработанный для открытия математических законов. Отталкиваясь от заложенных в него понятий и аксиом теории множеств, Математику удалось вывести из них такие важные математические концепции, как мощность множества, целочисленная арифметика и многие результаты теории чисел. Автоматизированный математик строил теоремы, модифицируя свою базу знаний, и использовал эвристические методы для поиска наилучших из множества возможных альтернативных теорем. Из недавних результатов в области машинного обучения можно отметить программу Коттоиа, которая изобретает «интересные» целочисленные последовательности.

К ранним трудам, оказавшим существенное влияние на область машинного обучения, относятся исследования Уинстона по выводу таких структурных понятий, как построение «арок» из наборов «мира блоков». Алгоритм ID3 проявил способности в выделении общих принципов из разных примеров. Система Meta-DENDRAL выводит правила интерпретации спектрографических данных в органической химии на примерах информации о веществах с известной структурой. Система Teiresias – интеллектуальный интерфейс для экспертных систем – преобразует сообщения на высокоуровнем языке в новые правила своей базы знаний. Программа Hacker в области исследований по машинному обучению отметилась тем, что могла строить планы для манипуляций в «мире блоков» посредством итеративного процесса выработки плана, его испытания и коррекции выявленных недостатков.

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

Отметим, что сегодня известно много важных биологических и социологических моделей машинного обучения.

Успешность программ машинного обучения наводит на мысль о существовании универсальных принципов, открытие которых позволило бы конструировать программы, способные обучаться в реальных проблемных областях.

2.6. Значение искусственного интеллекта для компьютерных игр

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

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

А какое отношение имеет искусственный интеллект к разработчикам игр? Следует понимать, что термин искусственный интеллект, строго говоря, имеет два разных значения:

С исторической точки зрения термином «интеллектуальный» – человек описывает сам себя. Именно наличием интеллекта человек отличается от животных и растений. В наши дни слово «интеллект» используется для описания одной из отличительных черт людей; если кого-то называют «высокоинтеллектуальным», то под этим подразумевается человек, особенно развитый в умственном отношении.

3. Понятие интеллекта и искуственного интеллекта

3.1. Определение интеллекта

Ввиду отсутствия лучшего определения, будем полагать, что интеллект – это набор умений и навыков, которые позволяют людям решать задачи в условиях ограниченности ресурсов. К этим умениям и навыкам относятся: • способность к обучению, • абстрактное мышление, • умение планировать, • а также воображение и творчество.

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

Элементы интеллекта проявляют даже животные: они умеют, например, самостоятельно выживать в естественных условиях и управлять своим временем. Колонии насекомых также умеют быстро адаптироваться к изменениям среды обитания для защиты своих гнезд. Даже популярные тесты IQ измеряют, скорее, не столько уровень интеллекта, сколько уровень тренированности и умение сдавать подобные тесты. Иными словами, такие тесты измеряют интеллект лишь в его узком смысле.

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

3.2. Искусственный интеллект как научное направление

Согласно второй интерпретации, искусственный интеллект – это набор определенных технологий и методик. Одно из лучших определений термина «искусственный интеллект» в этой интерпретации приведено на ai-depot.com:

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

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

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

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

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