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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


курсовая работа Системы искуственного интелекта

Информация:

Тип работы: курсовая работа. Добавлен: 29.09.2012. Сдан: 2011. Страниц: 7. Уникальность по antiplagiat.ru: < 30%

Описание (план):


Федеральное агентство по образованию
Государственное образовательное учреждение
Высшего профессионального образования
«Тульский государственный университет» 
 
Кафедра финансов и менеджмента

 
 
 
 
 
 
 
 
КОНТРОЛЬНО-КУРСОВАЯ РАБОТА 
 
«Системы искусственного интеллекта»
 
 
 
 
 
 
 
 
 
 
 
Выполнил ______________студентка гр. 720872 Рюмина Е.В. 
 
 
Руководитель работы _______________ ассистент каф. ФиМ Федоров А.В. 
 
 
 
 
 
 
 
 
 

Тула 2009 

СОДЕРЖАНИЕ 

      ВВЕДЕНИЕ          3 

      Глава 1 История создания искусственного интеллекта и систем искусственного интеллекта         4 

      Глава 2 Понятие ИИ и систем ИИ       7 

      2.1 Экспертные системы        8 

      2.2 Искусственные нейронные сети      12 

      2.3 Естесственно – языковые системы      19 

      ЗАКЛЮЧЕНИЕ          22 

      СПИСОК  ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ    23 

      Приложение 1          24 

      Приложение 2          25 

      Приложение 3          26 

      Приложение 4          27 

      Приложение 5          28 

      Приложение 6          29 

      Приложение 7          30 

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

      Глава 1 История создания искусственного интеллекта и систем искусственного интеллекта
     Идея  создания искусственного подобия человеческого  разума для решения сложных задач  и моделирования мыслительной способности витала в воздухе с древнейших времен. Впервые ее выразил РЛуллий (ок.1235-ок.1315), который еще в XIV в. пытался создать машину для решения различных задач на основе всеобщей классификации понятий. В XVIII в. Г.Лейбниц (1646 - 1716) и Р.Декарт (1596 - 1650) независимо друг от друга развили эту идею, предложив универсальные языки классификации всех наук.  Эти идеи легли в основу теоретических разработок в области создания искусственного интеллекта.
     Можно считать, что история искусственного интеллекта начинается с момента создания первых ЭВМ в 40-х г.г. С появлением электронных вычислительных машин, обладающих высокой (по меркам того времени) производительностью, стали возникать первые вопросы в области искусственного интеллекта. Возможно, ли создать машину, интеллектуальные возможности которой были тождественны интеллектуальным возможностям человека (или даже превосходили возможности человека).
      Следующим этапом в истории искусственного интеллекта являются 50-е годы, когда  исследователи пытались строить разумные машины, имитируя мозг. Эти попытки оказались безуспешными по причине полной непригодности, как аппаратных, так и программных средств. В 1956 г. состоялся семинар в Стэнфордском университете (США), где был впервые предложен термин искусственный интеллектartificial intelligence.(термин ввел Джон Маккарти) Так, при описании своих программ Ньюэлл и Саймон приводили в качестве доводов, подтверждающих, что их программы моделируют человеческое мышление, результаты сравнения записей доказательств теорем в виде программ с записями рассуждения «думающего вслух» человека. В 1954 г. в МГУ под руководством профессора А.А.Ляпунова (1911 - 1973) начал свою работу семинар "Автоматы и мышление" . В этом семинаре принимали участие крупнейшие физиологи, лингвисты, психологи, математики. Принято считать, что именно в это время родился искусственный интеллект в России.
      60-е  года в истории искусственного  интеллекта отметились попытками  отыскать общие методы решения  широкого класса задач, моделируя  сложный процесс мышления. В этот период началось зарождение эвристического программирования. Эвристика – правило, теоретически не обоснованное, но позволяющее сократить количество переборов в пространстве поиска. В 1965-1980 гг. получает развитие новая наука— ситуационное управление (соответствует представлению знаний в западной терминологии). Основоположник этой научной школы — профессор Д.А.Поспелов. Разработаны специальные модели представления ситуаций — представления знаний. Первых роботов трудно назвать интеллектуальными. Только в 60-х годах появились очуствленные роботы, которые управлялись универсальными компьютерами. К примеру, в 1969 г. в Электротехнической лаборатории (Япония) началась разработка проекта "промышленный интеллектуальный робот". В целом, 50-60 г.г. в истории искусственного интеллекта можно отметить как время поиска универсального алгоритма мышления.
      Существенный прорыв в практических приложениях искусственного интеллекта произошел в 70-х гг., когда на смену поискам универсального алгоритма мышления пришла идея моделировать конкретные знания специалистов-экспертов. В США появились первые коммерческие системы, основанные на знаниях, или экспертные системы. Пришел новый подход к решению задач искусственного интеллекта – представление знаний. Созданы «MYCIN» и «DENDRAL» – ставшие уже классическими экспертные системы для медицины и химии. [5]
      Следующий значимый период в истории искусственного интеллекта – это 80-е года. На этом отрезке искусственный интеллект пережил второе рождение. Были широко осознаны его большие потенциальные возможности, как в исследованиях, так и в развитии производства. В рамках новой технологии появились первые коммерческие программные продукты. В это время стала развиваться область машинного обучения. До этих пор перенесение знаний специалиста-эксперта в машинную программу было утомительной и долгой процедурой. Создание систем, автоматически улучшающих и расширяющих свой запас эвристических (не формальных, основанных на интуитивных соображениях) правил – важнейший этап в последние годы. В начале десятилетия в различных странах были начаты крупнейшие в истории обработки данных, национальные и международные исследовательские проекты, нацеленные на «интеллектуальные вычислительные системы пятого поколения». В России в 1988 г. создается АИИ — Ассоциация искусственного интеллекта. В Московском государственном университете создается язык РЕФАЛ. Уровень теоретических исследований по искусственному интеллекту в России ничуть не ниже мирового. К сожалению, начиная с 1975 г. на развитии этого направления сказалось прогрессирующее отставание в технологии. 

      Глава 2 Понятие искусственного интеллекта и систем искусственного интеллекта
      Искусственный интеллект (ИИ) - совокупность научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием ЭВМ.
      Искусственный интеллект - одно из направлений информатики, целью которого является разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои, традиционно считающиеся интеллектуальными задачи, общаясь с ЭВМ на ограниченном подмножестве естественного языка.
      Системы искусственного интеллекта (СИИ) — это системы, созданные на базе ЭВМ, которые имитируют решение человеком сложных интеллектуальных задач.
      Различают три основных вида СИИ:
      Экспертные системы;
      Искусственные нейронные сети;
      Естественно-языковые системы.
 


      2.2 Экспертные системы
      Экспе?ртная систе?ма (ЭС, expert system) компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление.  Экспертные системы – один из немногих видов систем искусственного интеллекта, которые получили широкое распространение и нашли практическое применение. Существуют экспертные системы по военному делу, геологии, инженерному делу, информатике, космической технике, математике, медицине, метеорологии, промышленности, сельскому хозяйству, управлению, физике, химии, электронике, юриспруденции и т.д. И только то, что экспертные системы остаются весьма сложными, дорогими, а главное, узкоспециализированными программами, сдерживает их еще более широкое распространение.
      Особенности экспертных систем:
       компетентность – в конкретной предметной области экспертная система должна достигать того же уровня, что и специалисты-люди; при этом она должна пользоваться теми же эвристическими приемами, также глубоко и широко отражать предметную область;
       символьные рассуждения знания, на которых основана экспертная система, представляют в символьном виде понятия реального мира, рассуждения также происходят в виде преобразовании символьных наборов;
       глубина – экспертиза должна решать серьезные, нетривиальные задачи, отличающиеся сложностью знаний, которые экспертная система использует, или обилием информации; это не позволяет использовать полный перебор вариантов как метод решения задачи и заставляет прибегать к эвристическим, творческим, неформальным методам; [2]
       самосознание – экспертная система должна включать в себя механизм объяснения того, каким образом она приходит к решению задачи.
      Экспертные  системы создаются для решения  разного рода проблем, но они имеют схожую структуру (рис. 1).

Рис. 1 - Схема обобщенной экспертной системы
      Основные типы их деятельности можно сгруппировать в категории, приведенные в таблице 1.
      Таблица 1 - Типичные категории способов применения экспертных систем
Категория Решаемая проблема
Интерпретация Описание ситуации по информации, поступающей от датчиков
Прогноз Определение вероятных  последствий заданных ситуаций
Диагностика Выявление причин неправильного функционирования системы по наблюдениям
Проектирование Построение  конфигурации объектов при заданных ограничениях
Планирование Определение последовательности действий
Наблюдение Сравнение результатов  наблюдений с ожидаемыми результатами
Отладка Составление рецептов исправления неправильного функционирования системы
Ремонт Выполнение  последовательности предписанных исправлений
Обучение Диагностика и  исправление поведения обучаемого
Управление Управление  поведением системы как целого
 
      Наиболее  известные ЭС, разработанные в 60-70-х годах, стали в своих областях уже классическими. По происхождению, предметным областям и по преемственности применяемых идей, методов и инструментальных программных средств их можно разделить на несколько семейств.
    META-DENDRAL.
      Система DENDRAL позволяет определить наиболее вероятную структуру химического соединения по экспериментальным данным (масс- спектрографии, данным ядерном магнитного резонанса и др.).М-D автоматизирует процесс приобретения знаний для DENDRAL. Она генерирует правила построения фрагментов химических структур.
    MYCIN-EMYCIN-TEIREIAS-PUFF-NEOMYCIN.
      Это семейство медицинских ЭС и сервисных  программных средств для их построения.
    PROSPECTOR-KAS.
      PROSPECTOR- предназначена для поиска (предсказания) месторождений на основе геологических анализов. KAS- система приобретения знаний для PROSPECTOR.
    CASNET-EXPERT.
      Система CASNET- медицинская ЭС для диагностики  выдачи рекомендаций по лечению глазных  заболеваний. На ее основе разработан язык инженерии знаний EXPERT, с помощью  которой создан ряд других медицинских диагностических систем.
    HEARSAY-HEARSAY-2-HEARSAY-3-AGE.
      Первые  две системы этого ряда являются развитием интеллектуальной системы  распознавания слитной человеческой речи, слова которой берутся из заданного словаря. Эти системы  отличаются оригинальной структурой, основанной на использовании доски объявлений - глобальной базы данных, содержащей текущие результаты работы системы. В дальнейшем на основе этих систем были созданы инструментальные системы HEARSAY-3 и AGE (Attempt to Generalize- попытка общения) для построения ЭС.
    Системы AM (Artifical Mathematician- искусственный математик) EURISCO.
      Были  разработаны в Станфордском университете доктором Д. Ленатом для исследовательских  и учебных целей.
    Среди современных коммерческих систем хочется выделить экспертную систему - оболочку G2 американской фирмы Gensym (USA) как непревзойденную экспертную коммерческую систему для работы с динамическими объектами. Работа в реальном времени с малыми временами ответа часто необходима при анализе ситуаций в корпоративных информационных сетях, на атомных реакторах, в космических полетах и множестве других задач. В этих задачах необходимо принимать решения в течение миллисекунд с момента возникновения критической ситуации. [4]
    В качестве примера быстродействующей системы для отслеживания состояния корпоративной информационной сети (КИС) можно привести основанную на знаниях систему мониторинга OMEGAMON фирмы Candle (IBM с 2004 г.) . OMEGAMON - типичный представитель современных экспертных мультиагентных динамических систем, работающих в реальном времени. OMEGAMON позволяет за считанные минуты ввести и отладить правила мониторинга внештатных ситуаций для объектов КИС. 

      2.2 Искусственные нейронные  сети
      Искусственные нейронные сети (ИНС) — математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети Маккалока и Питтса. Впоследствии, после разработки алгоритмов обучения, получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачах управления и др.
      Задача  классификации представляет собой  задачу отнесения образца к одному из нескольких попарно не пересекающихся множеств. Примером таких задач может быть, например, задача определения кредитоспособности клиента банка, медицинские задачи, в которых необходимо определить, например, исход заболевания, решение задач управления портфелем ценных бумаг (продать купить или "придержать" акции в зависимости от ситуации на рынке), задача определения жизнеспособных и склонных к банкротству фирм
      При решении задач классификации  необходимо отнести имеющиеся  статические образцы (характеристики ситуации на рынке, данные медосмотра, информация о клиенте) к определенным классам. Возможно несколько способов представления данных. Наиболее распространенным является способ, при котором образец представляется вектором. Компоненты этого вектора представляют собой различные характеристики образца, которые влияют на принятие решения о том, к какому классу можно отнести данный образец. Например, для медицинских задач в качестве компонентов этого вектора могут быть данные из медицинской карты больного. Таким образом, на основании некоторой информации о примере, необходимо определить, к какому классу его можно отнести. Классификатор таким образом относит объект к одному из классов в соответствии с определенным разбиением N-мерного пространства, которое называется пространством входов, и размерность этого пространства является количеством компонент вектора.
      Прежде  всего, нужно определить уровень  сложности системы. В реальных задачах часто возникает ситуация, когда количество образцов ограничено, что осложняет определение сложности задачи. Возможно выделить три основных уровня сложности. Первый (самый простой) – когда классы можно разделить прямыми линиями (или гиперплоскостями, если пространство входов имеет размерность больше двух) – так называемая линейная разделимость. Во втором случае классы невозможно разделить линиями (плоскостями), но их возможно отделить с помощью более сложного деления – нелинейная разделимость. В третьем случае классы пересекаются и можно говорить только о вероятностной разделимости.
      Сети  с прямой связью являются универсальным  средством аппроксимации функций, что позволяет их использовать в  решении задач классификации. Как  правило, нейронные сети оказываются наиболее эффективным способом классификации, потому что генерируют фактически большое число регрессионных моделей (которые используются в решении задач классификации статистическими методами).
      К сожалению, в применении нейронных  сетей в практических задачах возникает проблема. Заранее не известно, какой сложности (размера) может потребоваться сеть для достаточно точной реализации отображения. Эта сложность может оказаться чрезмерно высокой, что потребует сложной архитектуры сетей.
      Для построения классификатора необходимо определить, какие параметры влияют на принятие решения о том, к какому классу принадлежит образец. При этом могут возникнуть две проблемы. Во-первых, если количество параметров мало, то может возникнуть ситуация, при которой один и тот же набор исходных данных соответствует примерам, находящимся в разных классах. Тогда невозможно обучить нейронную сеть, и система не будет корректно работать (невозможно найти минимум, который соответствует такому набору исходных данных). Исходные данные обязательно должны быть непротиворечивы. Для решения этой проблемы необходимо увеличить размерность пространства признаков (количество компонент входного вектора, соответствующего образцу). Но при увеличении размерности пространства признаков может возникнуть ситуация, когда число примеров может стать недостаточным для обучения сети, и она вместо обобщения просто запомнит примеры из обучающей выборки и не сможет корректно функционировать. Таким образом, при определении признаков необходимо найти компромисс с их количеством. [3]
      Далее необходимо определить способ представления  входных данных для нейронной  сети, т.е. определить способ нормирования. Нормировка необходима, поскольку нейронные  сети работают с данными, представленными  числами в диапазоне 0..1, а исходные данные могут иметь произвольный диапазон или вообще быть нечисловыми данными. При этом возможны различные способы, начиная от простого линейного преобразования в требуемый диапазон и заканчивая многомерным анализом параметров и нелинейной нормировкой в зависимости от влияния параметров друг на друга.

      Кодирование выходных значений.

      Задача  классификации при наличии двух классов может быть решена на сети с одним нейроном в выходном слое, который может принимать одно из двух значений 0 или 1, в зависимости от того, к какому классу принадлежит образец. При наличии нескольких классов возникает проблема, связанная с представлением этих данных для выхода сети. Наиболее простым способом представления выходных данных в таком случае является вектор, компоненты которого соответствуют различным номерам классов. При этом i-я компонента вектора соответствует i-му классу. Все остальные компоненты при этом устанавливаются в 0. Тогда, например, второму классу будет соответствовать 1 на 2 выходе сети и 0 на остальных. При интерпретации результата обычно считается, что номер класса определяется номером выхода сети, на котором появилось максимальное значение. Например, если в сети с тремя выходами мы имеем вектор выходных значений (0.2,0.6,0.4), то мы видим, что максимальное значение имеет вторая компонента вектора, значит класс, к которому относится этот пример, – 2. При таком способе кодирования иногда вводится также понятие уверенности сети в том, что пример относится к этому классу. Наиболее простой способ определения уверенности заключается в определении разности между максимальным значением выхода и значением другого выхода, которое является ближайшим к максимальному. Например, для рассмотренного выше примера уверенность сети в том, что пример относится ко второму классу, определится как разность между второй и третьей компонентой вектора и равна 0.6-0.4=0.2. Соответственно чем выше уверенность, тем больше вероятность того, что сеть дала правильный ответ. Этот метод кодирования является самым простым, но не всегда самым оптимальным способом представления данных.
      Известны  и другие способы. Например, выходной вектор представляет собой номер  кластера, записанный в двоичной форме. Тогда при наличии 8 классов нам  потребуется вектор из 3 элементов, и, скажем, 3 классу будет соответствовать вектор 011. Но при этом в случае получения неверного значения на одном из выходов мы можем получить неверную классификацию (неверный номер кластера), поэтому имеет смысл увеличить расстояние между двумя кластерами за счет использования кодирования выхода по коду Хемминга, который повысит надежность классификации.
      Другой  подход состоит в разбиении задачи с k классами на k*(k-1)/2 подзадач с двумя  классами (2 на 2 кодирование) каждая. Под  подзадачей в данном случае понимается то, что сеть определяет наличие одной из компонент вектора. Т.е. исходный вектор разбивается на группы по два компонента в каждой таким образом, чтобы в них вошли все возможные комбинации компонент выходного вектора. Число этих групп можно определить как количество неупорядоченных выборок по два из исходных компонент. Из комбинаторики
      
      Тогда, например, для задачи с четырьмя классами мы имеем 6 выходов (подзадач) распределенных следующим образом:
      № подзадачи(выхода)       КомпонентыВыхода
      1       1-2
      2       1-3
      3       1-4
      4       2-3
      5       2-4
      6       3-4
      Где 1 на выходе говорит о наличии  одной из компонент. Тогда мы можем  перейти к номеру класса по результату расчета сетью следующим образом: определяем, какие комбинации получили единичное (точнее близкое к единице) значение выхода (т.е. какие подзадачи  у нас активировались), и считаем, что номер класса будет тот, который вошел в наибольшее количество активированных подзадач (см. таблицу).
      № класса       Акт. Выходы
      1       1,2,3
      2       1,4,5
      3       2,4,6
      4       3,5,6
      Это кодирование во многих задачах дает лучший результат, чем классический способ кодирование.

      Выбор объема сети.

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

      Алгоритм  построения классификатора на основе нейронных сетей

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


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


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