Интеллектуальные информационные системы
Возможности экспертных систем. Принципы работы дерева решений. Структура нейронных сетей, принципы проектирования с помощью пакета Matlab. Оптимизация функции с помощью генетических алгоритмов. Муравьиные алгоритмы поиска оптимального маршрута в графе.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 29.02.2016 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Старооскольский технологический институт (филиал) Федерального государственного образовательного учреждения высшего профессионального образования «Национальный исследовательский технологический университет МИСиС»
Кафедра АИСУ
Интеллектуальные информационные системы
Методические указания
к выполнению лабораторных работ для студентов направления 230400.62 Информационные системы и технологии (очная, заочная формы обучения)
Квалификация (степень) выпускника Бакалавр
Еременко Ю.И.,
Глущенко А.И.,
Полещенко Д.А.
Старый Оскол 2012
УДК 004.8
ББК 32.813
Еременко Ю.И., Глущенко А.И., Полещенко Д.А. Интеллектуальные системы и технологии. Методические указания к выполнению лабораторных работ. - Старый Оскол, СТИ НИТУ «МИСиС», 2012. - 80 с.
Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные системы и технологии» содержат основные теоретические положения по курсу, примеры выполнения заданий лабораторных работ, варианты заданий и предназначены для студентов направления 230400.62 «Информационные системы и технологии» очной и заочной форм обучения.
© Еременко Ю.И.
© СТИ НИТУ «МИСиС»
экспертный нейронный оптимизация
Содержание
Введение
Лабораторная работа №1
Лабораторная работа №2
Лабораторная работа № 3
Лабораторная работа №4
Лабораторная работа №5
Лабораторная работа №6
Список литературы
Введение
Чаще всего искусственным интеллектом, или ИИ (Artificial Intelligence - AI), называют процесс создания машин, которые способны действовать таким образом, что будут восприниматься человеком как разумные. Это может быть повторение поведения человека или выполнение более простых задач, например, выживание в динамически меняющейся обстановке (поведение насекомых, животных и т.п.).
В период становления ИИ создание разумных систем казалось очень простой задачей, которая так и не была решена. В наше время цели создания ИИ стали намного практичнее. Соответственно искусственный интеллект в настоящее время толкуется, как свойство автоматических систем брать на себя отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и рационального анализа внешних воздействий.
Как правило, интеллектом называется способность мозга решать (интеллектуальные) задачи путем приобретения, запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к разнообразным обстоятельствам.
Представляется совершенно естественным исключить из класса интеллектуальных такие задачи, для которых существуют стандартные методы решения. Примерами таких задач могут служить чисто вычислительные задачи: решение системы линейных алгебраических уравнений, численное интегрирование дифференциальных уравнений и т.д. Для решения подобного рода задач имеются стандартные алгоритмы, представляющие собой определенную последовательность элементарных операций, которая может быть легко реализована в виде программы для вычислительной машины. В противоположность этому для широкого класса интеллектуальных задач, таких, как распознавание образов, игра в шахматы, доказательство теорем и т.п., напротив это формальное разбиение процесса поиска решения на отдельные элементарные шаги часто оказывается весьма затруднительным, даже если само их решение несложно.
На сегодняшний день не существует единого определения, которое однозначно описывает эту научную область. Среди многих точек зрения на нее доминируют следующие три. Согласно первой, исследования в области ИИ относятся к фундаментальным, в процессе которых разрабатываются новые модели и методы решения задач, традиционно считавшихся интеллектуальными и не поддававшихся ранее формализации и автоматизации. Согласно второй точке зрения, это направление связано с новыми идеями решения задач на ЭВМ, с разработкой новых технологий программирования и с переходом к компьютерам не фон-неймановской архитектуры. Третья точка зрения, наиболее прагматическая, основана на том, что в результате исследований, проводимых в области ИИ, появляется множество прикладных систем, способных решать задачи, для которых ранее создаваемые системы были непригодны. По последней трактовке ИИ является экспериментальной научной дисциплиной, в которой роль эксперимента заключается в проверке и уточнении интеллектуальных систем, представляющих собой аппаратно-программные информационные комплексы.
Интеллектуальные информационные системы проникают во все сферы нашей жизни, поэтому трудно провести строгую классификацию направлений, по которым ведутся активные и многочисленные исследования в области ИИ.
На наш взгляд в настоящее время на первое место в научных исследованиях, связанных с применением методов искусственного интеллекта, выдвигаются задачи по принятию решений и идентификации объектов при разработке систем автоматического и автоматизированного управления. В этом направлении используется практически весь арсенал способов и алгоритмов ИИ от экспертных систем, аккумулирующих знания управленцев, и нейронных сетей, обладающих способностью самообучаться, до мультиагентных систем, способных реализовать идеи «коллективного разума».
Лабораторная работа №1
Изучение возможностей экспертных систем
1.1 Цель работы
Целью является проектирование и разработка фрагмента экспертной системы.
1.2 Теоретическое введение
Экспертная система - это информационная система, основанная на знаниях эксперта и позволяющая решать поставленную в рамках некоторой предметной области задачу, по крайней мере, не хуже, чем эксперт.
Ниже представлена структура ЭС. Пользователь, желающий получить информацию, через интерфейс посылает запрос к ЭС; решатель, пользуясь базой знаний, генерирует и выдает пользователю подходящую рекомендацию, объясняя ход своих рассуждений при помощи подсистемы объяснений.
Рис. 1 Структура статической ЭС
Терминология
Пользователь - специалист предметной области, для которого предназначена система.
Инженер по знаниям - специалист в области ИИ. Синонимы: когнитолог, инженер-интерпретатор, аналитик.
Диалоговый компонент - комплекс программ, реализующих диалог пользователя с ЭС.
База знаний - ядро ЭС, совокупность знаний ПО, записанных в память на языке, понятном эксперту и пользователю. Параллельно существует БЗ во внутреннем машинном представлении.
Решатель - программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Синонимы: дедуктивная машина, машина вывода, блок логического вывода.
Объяснительный компонент - программа, позволяющая пользователю получить ответы на вопрос, как система приняла такое решение и почему.
Интеллектуальный редактор БЗ - программа, позволяющая инженеру по знаниям создавать БЗ в диалоговом режиме. Включает систему вложенных меню, подсказок и других сервисных средств.
Классификация по решаемой задаче:
Интерпретация данных - это одна из традиционных задач для ЭС, процесс определения смысла данных, результаты которого должны быть согласованными и корректными. Предусматривается многовариантный анализ данных. (Обнаружение и идентификация различных типов океанских судов по результатам аэрокосмического сканирования, определение свойств личности по результатам тестирования АВАНТЕСТ, МИКРОЛЮШЕР).
Диагностика - процесс соотнесения объекта с некоторым классом объектов и обнаружение отклонения от нормы. Диагностика и терапия сужения коронарных сосудов, диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ.
Мониторинг. Основная задача мониторинга - непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Контроль за работой электростанций, контроль аварийных датчиков на химическом заводе - FALCON.
Проектирование - подготовка спецификаций на создание «объектов» с заранее определенными свойствами. Под спецификацией понимается полный набор документов. В задачах проектирования тесно связаны два основных процесса ЭС: процесс вывода решения и процесс объяснения. Проектирование конфигураций ЭВМ, синтез электрических цепей.
Прогнозирование - позволяет предсказывать события на основании имеющихся данных, логически выводить вероятные следствия из данных ситуаций. Предсказание погоды - WILLARD; оценки будущего урожая - PLANT; прогнозы в экономике - ECON.
Планирование - нахождение планов действий объектов, способных выполнять некоторые функции. Для выведения логических последствий планируемой деятельности используются модели поведения реальных объектов. Планирование поведения робота - STRIPS, планирование промышленных заказов - ISIS, эксперимента - MOLGEN.
Обучение - системы обучения с помощью компьютера диагностируют ошибки и подсказывают правильные решения. Они аккумулируют знания о гипотетическом ученике, о его характерных ошибках и способны диагностировать слабости в познаниях обучаемых и находить средства их ликвидации.
Управление - функция организованной системы, поддерживающая определенный режим деятельности. Такого рода ЭС осуществляют управление поведением сложных систем в соответствии с заданными спецификациями. Управление газовой котельной GAS, управление системой календарного планирования Project Assistant.
Поддержка принятия решений - это совокупность процедур, обеспечивающая лицо, принимающее решение, необходимой информацией и рекомендациями. Выбор стратегии выхода фирмы из кризисной ситуации Crisis, выбор страховой компании Choice.
В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа, и на системы, решающие задачи синтеза. Задачи анализа: интерпретация данных, диагностика, поддержка принятия решения. Задачи синтеза: проектирование, планирование, управление. Комбинированные задачи: обучение, мониторинг, прогнозирование.
Классификация по связи с реальным временем:
Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они стабильны. (Диагностика автомобиля).
Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом во времени. (Производство лизина).
Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени и непрерывной интерпретацией поступающих в систему данных. (Управление гибкими производственными комплексами, мониторинг в реанимационных палатах).
Классификация по степени интеграции с другими программами:
Автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфических «экспертных» задач;
Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (мат. статистику, линейное программирование, СУБД) и средства манипулирования знаниями.
Следует отметить, что разработка гибридных систем являет собой задачу на порядок более сложную, чем разработка автономной ЭС. Стыковка не просто разных пакетов, а разных методологий порождает целый комплекс теоретических и практических трудностей.
Цель ЭС - вывести некоторый заданный факт, который называется целевым утверждением (то есть в результате применения правил добиться того, чтобы этот факт был включен в рабочее множество), либо опровергнуть этот факт (то есть убедиться, что его вывести невозможно, следовательно, при данном уровне знаний системы он является ложным). Целевое утверждение может быть либо «заложено» заранее в базу знаний системы, либо извлекается системой из диалога с пользователем.
Работа системы представляет собой последовательность шагов, на каждом из которых из базы выбирается некоторое правило, которое применяется к текущему содержимому рабочего множества. Цикл заканчивается, когда выведено либо опровергнуто целевое утверждение. Цикл работы экспертной системы иначе называется логическим выводом. Логический вывод может происходить многими способами, из которых наиболее распространенные - прямой порядок вывода и обратный порядок вывода.
Прямой порядок вывода - от фактов, которые находятся в рабочем множестве, к заключению. Если такое заключение удается найти, то оно заносится в рабочее множество. Прямой вывод часто называют выводом, управляемым данными.
Обратный порядок вывода - заключения просматриваются до тех пор, пока не будут обнаружены в рабочей памяти или получены от пользователя факты, подтверждающие одно из них. В системах с обратным выводом вначале выдвигается некоторая гипотеза, а затем механизм вывода в процессе работы, как бы возвращается назад, переходя от нее к фактам, и пытается найти среди них те, которые подтверждают эту гипотезу. Если она оказалась правильной, то выбирается следующая гипотеза, детализирующая первую являющуюся по отношению к ней подцелью. Далее отыскиваются факты, подтверждающие истинность подчиненной гипотезы. Вывод такого типа называется управляемыми целями. Обратный поиск применяется в тех случаях, когда цели известны и их сравнительно немного.
Поскольку системы, основанные на знаниях, реализуются на персональных компьютерах, то и входная информация должна восприниматься в виде, понятном компьютеру. Однако для того чтобы с ЭС мог взаимодействовать неподготовленный пользователь, в нее требуется включить средства общения на естественном языке. Подавляющее большинство систем, основанных на знаниях, обладают интерфейсом на естественном языке. Допустимые входные сообщения пользователя содержать в базе знаний.
В ходе консультации инициатива диалога принадлежит системе, а сама консультация у ЭС выглядит так же, как и консультация у эксперта - человека, - задается ряд вопросов и на основании их анализа выдается экспертное заключение.
ПРИМЕР 1:
Предметная область: МЕДИЦИНА
Краткое описание предметной области:
Диагностика заболевания гортани, а именно: ларингит острый, ларингит хронический катаральный, ларингит хронический гипертрофический, ларингит хронический атрофический.
У каждой болезни имеется набор признаков или симптомов.
Для удобства анализа предметной области данные сведены в таблицу.
1. В ней столбцы обозначены названиями болезней, а строки - названиями симптомов. На пересечении соответствующих столбцов и строк стоит знак "+", если симптом действительно принадлежит исследуемой болезни. Одни и те же симптомы могут являться признаками одной и той же болезни, поэтому некоторые из них (симптомов) перекрываются.
Таблица 1 Описание предметной области ЭС
Симптом (атрибут) Болезнь (объект) |
ларингит острый |
ларингит хронический катаральный |
ларингит хронический гипертрофический |
ларингит хронический атрофический |
|
1. общее недомогание |
+ |
+ |
+ |
+ |
|
2. сухость першение, саднение |
+ |
+ |
+ |
||
3. кашель сначала сухой, затем с мокротой |
+ |
||||
4. голос хриплый или беззвучный |
+ |
+ |
+ |
||
5. иногда боль при глотании |
+ |
||||
6. головная боль |
+ |
||||
7. повышение температуры тела |
+ |
||||
8. быстрая утомляемость голоса |
+ |
||||
9. периодический кашель с мокротой |
+ |
||||
10. охриплость с афонией |
+ |
||||
11. ощущение неловкости |
+ |
||||
12. жжение в горле |
+ |
||||
13. кашель при обострении |
+ |
||||
14. сухой кашель |
+ |
||||
15. слизистая покрыта густой слизью |
+ |
||||
16. откашливание с прожилками крови |
+ |
ПРИМЕР 2:
Пусть необходимо построить дерево для распознавания фруктов.
1. Выявление объектов (решений) предметной области: «Грейпфрут», «Апельсин», «Яблоко», «Банан», «Груша».
2. Определение атрибутов (свойств) объектов: «Форма», «Запах», «Цвет», «Вкус», «Кожура», «Зерна», «Очищать надо?».
3. Определение атрибутов(характерных свойств) для каждого объекта.
Таблица 2 Описание предметной области ЭС
4. Построение оптимального дерева решений.
Оптимальное дерево решений подразумевает не повторяющуюся ветвлений последовательность атрибутов и минимальный размер уровней и ветвлений.
Рис.2 Дерево вывода ЭС
1.3 Порядок выполнения лабораторной работы
1.3.1 Самостоятельно выбрать предметную область для построения экспертной системы.
1.3.2 Проанализировать предметную область и составить таблицу признаков, как представлено в примере 1 (минимальный размер таблицы - 6х6).
1.3.3 Построить базу знаний экспертной системы используя продукционную модель представления знаний.
1.3.4 Построить дерево вывода для распознавания ситуаций в проектируемой экспертной системе.
1.3.5 Программно реализовать полученные продукционную и семантическую модели в рамках отдельных экспертных систем. Провести оценку адекватности принимаемых системами решений в рамках предметной области, сгенерировав для этого тестовые примеры. Определить наиболее адекватную для данного конкретного случая модель представления знаний. Решатель должен быть организован на основе прямого порядка вывода. Также должен быть реализован объяснительный компонент.
1.4 Контрольные вопросы
Что Вы понимаете под экспертной системой?
Дайте определение базы знаний экспертной системы?
Что представляет собой подсистема вывода экспертной системы?
Чем отличается прямой и обратный порядок логического вывода?
5. Для решения какого класса задач целесообразно применять экспертные системы?
6. Какие модели представления знаний Вы знаете?
7. Какие функции выполняет инженер по знаниям?
8. Чем отличается база данных от базы знаний?
9. Чем отличаются знания от данных?
1.5 Оформление отчета по лабораторной работе
Текстовый файл в формате .doc
Ответы на задания п. 1.3.
Описание алгоритма и программы экспертной системы.
Выводы по итогам работы.
Лабораторная работа №2
Деревья решений - общие принципы работы
2.1 Цель работы
Изучить принцип построения деревьев решений и построить дерево решений на основе имеющейся выборки примеров.
2.2 Теоретическое введение
Деревья решений - это способ представления правил в иерархической, последовательной структуре, где каждому объекту соответствует единственный узел, дающий решение.
Под правилом понимается логическая конструкция, представленная в виде "если ... то ...".
Рис.3 Пример дерева решений
Введем основные понятия из теории деревьев решений:
Название Описание
Объект Пример, шаблон, наблюдение
Атрибут Признак, независимая переменная, свойство
Метка класса Зависимая переменная, целевая переменная, признак определяющий класс объекта
Узел Внутренний узел дерева, узел проверки
Лист Конечный узел дерева, узел решения
Проверка (test) Условие в узле
Пусть нам задано некоторое обучающее множество T, содержащее объекты (примеры), каждый из которых характеризуется m атрибутами (атрибутами), причем один из них указывает на принадлежность объекта к определенному классу.
Идею построения деревьев решений из множества T, впервые высказанную Хантом, приведем по Р. Куинлену (R. Quinlan).
Пусть через {C1, C2, ... Ck} обозначены классы(значения метки класса), тогда существуют 3 ситуации:
1. множество T содержит один или более примеров, относящихся к одному классу Ck. Тогда дерево решений для Т - это лист, определяющий класс Ck;
2. множество T не содержит ни одного примера, т.е. пустое множество. Тогда это снова лист, и класс, ассоциированный с листом, выбирается из другого множества отличного от T, скажем, из множества, ассоциированного с родителем;
3. множество T содержит примеры, относящиеся к разным классам. В этом случае следует разбить множество T на некоторые подмножества. Для этого выбирается один из признаков, имеющий два и более отличных друг от друга значений O1, O2, ... On. T разбивается на подмножества T1, T2, ... Tn, где каждое подмножество Ti содержит все примеры, имеющие значение Oi для выбранного признака. Это процедура будет рекурсивно продолжаться до тех пор, пока конечное множество не будет состоять из примеров, относящихся к одному и тому же классу.
При использовании данной методики, построение дерева решений будет происходит сверху вниз.
Поскольку все объекты были заранее отнесены к известным нам классам, такой процесс построения дерева решений называется обучением с учителем (supervised learning). Процесс обучения также называют индуктивным обучением или индукцией деревьев (tree induction).
Этапы построения деревьев решений
При построении деревьев решений особое внимание уделяется следующим вопросам: выбору критерия атрибута, по которому пойдет разбиение, остановки обучения и отсечения ветвей. Рассмотрим все эти вопросы по порядку.
Правило разбиения. Каким образом следует выбрать признак?
Для построения дерева на каждом внутреннем узле необходимо найти такое условие (проверку), которое бы разбивало множество, ассоциированное с этим узлом на подмножества. В качестве такой проверки должен быть выбран один из атрибутов. Общее правило для выбора атрибута можно сформулировать следующим образом: выбранный атрибут должен разбить множество так, чтобы получаемые в итоге подмножества состояли из объектов, принадлежащих к одному классу, или были максимально приближены к этому, т.е. количество объектов из других классов ("примесей") в каждом из этих множеств было как можно меньше.
Рассмотрим теоретико-информационный критерий разбиения.
Для выбора наиболее подходящего атрибута, предлагается следующий критерий:
где, Info(T) - энтропия множества T
- количество примеров из некоторого множества S, относящихся к одному и тому же классу Cj. Тогда вероятность того, что случайно выбранный пример из множества S будет принадлежать к классу Cj
Согласно теории информации количество содержащейся в сообщении информации зависит от ее вероятности
Поскольку используется логарифм с двоичным основанием, то выражение дает количественную оценку в битах.
Множества T1, T2, ... Tn получены при разбиении исходного множества T по проверке X. Выбирается атрибут, дающий максимальное значение по критерию (1).
Впервые эта мера была предложена Р. Куинленом в разработанном им алгоритме ID3. Кроме вышеупомянутого алгоритма C4.5, есть еще целый класс алгоритмов, которые используют этот критерий выбора атрибута.
Правило остановки. Разбивать дальше узел или отметить его как лист?
В дополнение к основному методу построения деревьев решений были предложены следующие правила:
· Использование статистических методов для оценки целесообразности дальнейшего разбиения, так называемая "ранняя остановка" (prepruning). В конечном счете "ранняя остановка" процесса построения привлекательна в плане экономии времени обучения, но здесь уместно сделать одно важное предостережение: этот подход строит менее точные классификационные модели и поэтому ранняя остановка крайне нежелательна. Признанные авторитеты в этой области Л.Брейман и Р. Куинлен советуют буквально следующее: "Вместо остановки используйте отсечение".
· Ограничить глубину дерева. Остановить дальнейшее построение, если разбиение ведет к дереву с глубиной превышающей заданное значение.
· Разбиение должно быть нетривиальным, т.е. получившиеся в результате узлы должны содержать не менее заданного количества примеров.
Этот список эвристических правил можно продолжить, но на сегодняшний день не существует такого, которое бы имело большую практическую ценность. К этому вопросу следует подходить осторожно, так как многие из них применимы в каких-то частных случаях.
Правило отсечения. Каким образом ветви дерева должны отсекаться?
Очень часто алгоритмы построения деревьев решений дают сложные деревья, которые "переполнены данными", имеют много узлов и ветвей. Такие "ветвистые" деревья очень трудно понять. К тому же ветвистое дерево, имеющее много узлов, разбивает обучающее множество на все большее количество подмножеств, состоящих из все меньшего количества объектов.
Ценность правила, справедливого скажем для 2-3 объектов, крайне низка, и в целях анализа данных такое правило практически непригодно.
Гораздо предпочтительнее иметь дерево, состоящее из малого количества узлов, которым бы соответствовало большое количество объектов из обучающей выборки.
Для решения вышеописанной проблемы часто применяется так называемое отсечение ветвей (pruning).
Пусть под точностью (распознавания) дерева решений понимается отношение правильно классифицированных объектов при обучении к общему количеству объектов из обучающего множества, а под ошибкой - количество неправильно классифицированных. Предположим, что нам известен способ оценки ошибки дерева, ветвей и листьев. Тогда, возможно использовать следующее простое правило:
· построить дерево;
· отсечь или заменить поддеревом те ветви, которые не приведут к возрастанию ошибки.
В отличии от процесса построения, отсечение ветвей происходит снизу вверх, двигаясь с листьев дерева, отмечая узлы как листья, либо заменяя их поддеревом.
Путь дерева - совокупность вершин от корня дерева до листа. Путь - это фактически одно продукционное правило.
Достоверность пути (правила) - это отношение количества записей в облучающей выборке, которые подходят как под условие, так и под следствие этого правила, к количеству записей, подходящих только под условие этого правила. Если достоверность ниже требуемой - такой путь отсекается.
2.3 Порядок выполнения лабораторной работы
2.3.1. Построить дерево решений. Для этого необходимо:
а) запустить программу deductor studio academic.
б) провести импорт статистики в программу, вызвав контекстное меню в левом фрейме программы и выбрав там «Мастер импорта».
Рис. 4 Импорт статистики в программу анализа данных
в) указать путь к текстовому файлу со статистикой
Рис. 5 Подключение файла со статистикой
г) далее следует указать, что символом-разделителем является пробел, а первая строка - заголовком.
Рис.6 Импорт статистики
д) для численных характеристик в соответствии с логикой атрибута необходимо указать дискретный он или непрерывный (например, количество поручителей - дискретно, не может быть 1.5 поручителя).
Рис. 7 Определение типов атрибутов
е) Результатом работы мастера является таблица данных. Далее необходимо вызвать мастер обработки.
Рис. 8 Вызов мастера обработки
ж) В появившемся окне следует выбрать «Дерево решений»
з) На втором шаге работы данного мастера следует убедиться, что все параметры, кроме «результат», являются входными, а «результат» - выходным.
и) На четвертом шаге работы мастера обработки определяются параметры разбиения и отсечения. Параметр разбиения не следует ставить менее 6, а параметр отсечения - более 10.
Рис. 9 Определение параметров отсечения и разбиения
к) На шестом шаге следует отметить пункты «Дерево решений», «Правила», «Значимость атрибутов».
Рис. 10 Определение способов отображения
2.3.2 Полученное в результате работы мастера дерево следует проанализировать на наличие неверных правил. Если такие будут найдены, необходимо проанализировать причины их появления.
Все пункты работы отразить в отчете. Сделать выводы.
2.4 Контрольные вопросы
1. Что такое дерево решений?
2. Дайте определения основным понятиям теории деревьев решений
3. Виды критериев разбиения множества примеров
4. Как построить дерево решений
5. Для чего необходимо отсечение?
2.5 Оформление отчета по лабораторной работе
1. В отчете следует привести скриншоты шагов 3-5 мастера обработки, а также скриншоты дерева решений, правил вывода и значимости атрибутов.
2. Выводы по итогам работы.
Лабораторная работа № 3
Знакомство с нейронными сетями
3.1 Цель работы
Ознакомление со структурой нейронных сетей. Получение навыка программирования нейронных сетей.
3.2 Теоретическое введение
Нейрон (нервная клетка) особая биологическая клетка, которая обрабатывает информацию.
Искусственный нейрон
Нейрон состоит из элементов трех типов: умножителей (синапсов), сумматора и нелинейного преобразователя. Синапсы осуществляют связь между нейронами, умножают входной сигнал на число, характеризующее силу связи (вес синапса). Сумматор выполняет сложение сигналов, поступающих по синаптическим связям от других нейронов, и внешних входных сигналов. Нелинейный преобразователь реализует нелинейную функцию одного аргумента - выхода сумматора. На рис.11 показана его структура.
Рис. 11 Структура искусственного нейрона
Эта функция называется функцией активации нейрона. Нейрон реализует скалярную функцию векторного аргумента. Математическая модель нейрона:
(6)
где wi - вес синапса, i = 1...n; b - значение смещения; s - результат суммирования; xi - компонент входного вектора (входной сигнал), I = 1…n; у - выходной сигнал нейрона; п - число входов нейрона; f - нелинейное преобразование (функция активации).
В общем случае входной сигнал, весовые коэффициенты и смещение могут принимать действительные значения, а во многих практических задачах - лишь некоторые фиксированные значения. Выход (у) определяется видом функции активации и может быть как действительным, так и целым.
Синаптические связи с положительными весами называют возбуждающими, с отрицательными весами - тормозящими.
Функции активации
Одной из наиболее распространенных функций активации является нелинейная функция активации с насыщением, так называемая логистическая функция или сигмоид (функция S-бразного вида):
(7)
При уменьшении а сигмоид становится более пологим, в пределе при а = 0 вырождаясь в горизонтальную линию на уровне 0,5, при увеличении а сигмоид приближается к виду функции единичного скачка с порогом Т. Из выражения для сигмоида очевидно, что выходное значение нейрона лежит в диапазоне (0, 1). Одно из ценных свойств сигмоидальной функции - простое выражение для ее производной:
(8)
Следует отметить, что сигмоидальная функция дифференцируема на всей оси абсцисс, что используется в некоторых алгоритмах обучения. Кроме того, она обладает свойством усиливать слабые сигналы лучше, чем большие, и предотвращает насыщение от больших сигналов, так как они соответствуют областям аргументов, где сигмоид имеет пологий наклон.
Таблица 3 Функции активации нейронов
Название |
Формула |
Область значений |
|
Линейная |
f (s) = k s |
(-?, ?) |
|
Полулинейная |
(0, ?) |
||
Логистическая (сигмоидальная) |
(0, 1) |
||
Гиперболический тангенс (сигмоидальная) |
(-1, 1) |
||
Экспоненциальная |
(0, ?) |
||
Синусоидальная |
(-1, 1) |
||
Сигмоидальная (рациональная) |
(-1, 1) |
||
Шаговая (линейная с насыщением) |
(-1, 1) |
||
Пороговая |
(0, 1) |
||
Модульная |
(0, ?) |
||
Знаковая (сигнатурная) |
(-1, 1) |
||
Квадратичная |
(0, ?) |
Классификация нейронных сетей
Нейронная сеть представляет собой совокупность нейронов, определенным образом соединенных друг с другом и с внешней средой с помощью связей, определяемых весовыми коэффициентами. В зависимости от функций, выполняемых нейронами в сети, можно выделить три их типа:
* входные нейроны, на которые подается вектор, кодирующий входное воздействие или образ внешней среды; в них обычно не осуществляется вычислительных процедур, а информация передается с входа на выход;
* выходные нейроны, выходные значения которых представляют выходы нейронной сети;
* промежуточные нейроны, составляющие основу нейронных сетей.
В большинстве нейронных моделей тип нейрона связан с его расположением в сети. Если нейрон имеет только выходные связи, то это входной нейрон, если наоборот - выходной нейрон. Однако возможен случай, когда выход топологически внутреннего нейрона рассматривается как часть выхода сети. В процессе функционирования сети осуществляется преобразование входного вектора в выходной, некоторая переработка информации. Конкретный вид выполняемого сетью преобразования данных обусловливается не только характеристиками нейроподобных элементов, но и особенностями ее архитектуры, а именно топологией межнейронных связей, выбором определенных подмножеств нейроподобных элементов для ввода и вывода информации, способами обучения сети, наличием или отсутствием конкуренции между нейронами, направлением и способами управления и синхронизации передачи информации между нейронами.
Рис. 12 Архитектуры нейронных сетей: а-полносвязная сеть, б-многослойная сеть с последовательными связями, в-слабосвязные сети
С точки зрения топологии можно выделить три основных типа нейронных сетей:
* полносвязные (рис.12, а);
* многослойные или слоистые (рис.12, б);
* слабосвязные (с локальными связями) (рис.12, в).
В полносвязных нейронных сетях каждый нейрон передает свой выходной сигнал остальным нейронам, в том числе и самому себе. Все входные сигналы подаются всем нейронам. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети.
В многослойных нейронных сетях нейроны объединяются в слои. Слой содержит совокупность нейронов с едиными входными сигналами. Число нейронов в слое может быть любым и не зависит от количества нейронов в других слоях. В общем случае сеть состоит из Q слоев, пронумерованных слева направо. Внешние входные сигналы подаются на входы нейронов входного слоя (его часто нумеруют как нулевой), а выходами сети являются выходные сигналы последнего слоя. Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько скрытых слоев. Связи от выходов нейронов некоторого слоя q к входам нейронов следующего слоя (q +1) называются последовательными.
В свою очередь, среди многослойных нейронных сетей выделяют следующие типы.
1) Монотонные. Это частный случай слоистых сетей с дополнительными условиями на связи и нейроны. Каждый слой кроме выходного разбит на два блока: возбуждающий и тормозящий. Связи между блоками тоже разделяются на тормозящие и возбуждающие. Если от нейронов блока А к нейронам блока В ведут только возбуждающие связи, то это означает, что любой выходной сигнал блока является монотонной неубывающей функцией любого выходного сигнала блока А. Если же эти связи только тормозящие, то любой выходной сигнал блока В является невозрастающей функцией любого выходного сигнала блока А. Для нейронов монотонных сетей необходима монотонная зависимость выходного сигнала нейрона от параметров входных сигналов.
2) Сети без обратных связей. В таких сетях нейроны входного слоя получают входные сигналы, преобразуют их и передают нейронам первого скрытого слоя, и так далее до выходного. Если не оговорено противное, то каждый выходной сигнал q-гo слоя подастся на вход всех нейронов (q+1)-гo слоя; однако возможен вариант соединения q-го слоя с произвольным (q+р)-м слоем.
Среди многослойных сетей без обратных связей различают полносвязанные (выход каждого нейрона q-ro слоя связан с входом каждого нейрона (q+1)-го слоя) и частично полносвязанные.
3) Сети с обратными связями. В сетях с обратными связями информация с последующих слоев передается на предыдущие.
Известные нейронные сети можно разделить по типам структур нейронов на гомогенные (однородные) и гетерогенные. Гомогенные сети состоят из нейронов с единой функцией активации, а в гетерогенную сеть входят нейроны с различными функциями активации.
Существуют бинарные и аналоговые сети. Первые из них оперируют только двоичными сигналами, и выход каждого нейрона может принимать значение либо логического нуля, либо логической единицы.
Сети можно классифицировать по числу слоев. Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированных микросхем, на которых обычно реализуется нейронная сеть. Чем сложнее сеть, тем более сложные задачи она может решать.
Выбор структуры нейронной сети осуществляется в соответствии с особенностями и сложностью задачи. Для решения отдельных типов задач уже существуют оптимальные конфигурации. Если же задача не может быть сведена ни к одному из известных типов, приходится решать сложную проблему синтеза новой конфигурации. При этом необходимо руководствоваться следующими основными правилами:
* возможности сети возрастают с увеличением числа нейронов сети, плотности связей между ними и числом слоев;
* введение обратных связей наряду с увеличением возможностей сети поднимает вопрос о динамической устойчивости сети;
* сложность алгоритмов функционирования сети, введение нескольких типов функций активации способствует усилению мощности нейронной сети.
Известные нейронные сети можно разделить по типам структур нейронов на гомогенные (однородные) и гетерогенные. Гомогенные сети состоят из нейронов с единой функцией активации, а в гетерогенную сеть входят нейроны с различными функциями активации.
Существуют бинарные и аналоговые сети. Первые из них оперируют только двоичными сигналами, и выход каждого нейрона может принимать значение либо логического нуля, либо логической единицы.
Сети можно классифицировать по числу слоев. Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированных микросхем, на которых обычно реализуется нейронная сеть. Чем сложнее сеть, тем более сложные задачи она может решать.
Выбор структуры нейронной сети осуществляется в соответствии с особенностями и сложностью задачи. Для решения отдельных типов задач уже существуют оптимальные конфигурации. Если же задача не может быть сведена ни к одному из известных типов, приходится решать сложную проблему синтеза новой конфигурации. При этом необходимо руководствоваться следующими основными правилами:
* возможности сети возрастают с увеличением числа нейронов сети, плотности связей между ними и числом слоев;
* введение обратных связей наряду с увеличением возможностей сети поднимает вопрос о динамической устойчивости сети;
* сложность алгоритмов функционирования сети, введение нескольких типов функций активации способствует усилению мощности нейронной сети.
Многослойные сети обладают большими возможностями, чем однослойные, и в последние годы были разработаны алгоритмы для их обучения.
На рис. 13 представлена многослойная НС.
Входной слой (input layer) нейронных элементов выполняет распределительные функции. Выходной слой (output layer) нейронов служит для обработки информации от предыдущих слоев и выдачи результатов. Слои нейронных элементов, расположенные между входным и выходным слоями, называются скрытыми (hidden layers). Как и выходной слой, скрытые слои являются обрабатывающими.
Рис. 13 Многослойная нейронная сеть
Число слоев в многослойной нейронной сети характеризует, каким образом входное пространство может быть разбито на подпространства меньшей размерности. Так, двухслойная нейронная сеть с одним слоем нелинейных нейронов разбивает входное пространство образов на классы при помощи гиперплоскости. Трехслойная нейронная сеть, где в качестве двух последних слоев используются нейронные элементы с нелинейной функцией активации, позволяет формировать любые выпуклые области в пространстве решений. Четырехслойная нейронная сеть, которая имеет три нелинейных слоя, дает возможность получать область решений любой формы и сложности, в том числе и невыпуклой.
Рекуррентные нейронные сети
Рекуррентными нейронными сетями называются такие сети, в которых выходы нейронных элементов последующих слоев имеют синаптические соединения с нейронами предшествующих слоев. Это приводит к возможности учета результатов преобразования нейронной сетью информации на предыдущем этапе для обработки входного вектора на следующем этапе функционирования сети. Рекуррентные сети могут использоваться для решения задач прогнозирования и управления.
Архитектура рекуррентных сетей
Существуют различные варианты архитектур рекуррентных нейронных сетей. Сеть Джордана: В 1986 г. Джордан (Jordan) предложил рекуррентную сеть (рис. 14), в которой выходы нейронных элементов последнего слоя соединены посредством специальных входных нейронов с нейронами промежуточного слоя. Такие входные нейронные элементы называются контекстными нейронами (context units). Они распределяют выходные данные нейронной сети на нейронные элементы промежуточного слоя.
Рис. 14 Архитектура рекуррентной нейронной сети с обратными связями от нейронов выходного слоя
Число контекстных нейронов равняется числу выходных нейронных элементов рекуррентной сети. В качестве выходного слоя таких сетей используются нейронные элементы с линейной функцией активации. Тогда выходное значение j-го нейронного элемента последнего слоя определяется по формуле
(9)
где vij - весовой коэффициент между i-м нейроном промежуточного и j-м нейроном выходного слоев; Pi(t)- выходное значение i-го нейрона промежуточного слоя; tj - пороговое значение j-го нейрона выходного слоя. Взвешенная сумма i-гo нейронного элемента промежуточного слоя определяется следующим образом:
(10)
где wij - весовой коэффициент между j-м нейроном входного и i-м нейроном промежуточного слоев; р - число нейронов выходного слоя; wki-- весовой коэффициент между k-м контекстным нейроном и i-м нейроном промежуточного слоя; T - пороговое значение i-го нейрона промежуточного слоя; n - размерность входного вектора.
Тогда выходное значение i-го нейрона скрытого слоя:
(11)
В качестве функции нелинейного преобразования F обычно используется гиперболический тангенс или сигмоидная функция.
Для обучения рекуррентных нейронных сетей применяется алгоритм обратного распространения ошибки.
Алгоритм обучения рекуррентной нейронной сети в общем случае состоит из следующих шагов:
1. В начальный момент времени t = 1 все контекстные нейроны устанавливаются в нулевое состояние - выходные значения приравниваются нулю.
2. Входной образ подается на сеть и происходит прямое распространение его в нейронной сети.
3. В соответствии с алгоритмом обратного распространения ошибки модифицируются весовые коэффициенты и пороговые значения нейронных элементов.
4. Устанавливается t = t +1 и осуществляется переход к шагу 2. Обучение рекуррентной сети производится до тех пор, пока суммарная среднеквадратичная ошибка сети не станет меньше заданной.
Рециркуляционные нейронные сети
Рециркуляционные сети характеризуются как прямым Y = f(X), так и обратным X = f(У) преобразованием информации. Задача такого преобразования - достижение наилучшего автопрогноза или самовоспроизводимости вектора X. Рециркуляционные нейронные сети применяются для сжатия (прямое преобразование) и восстановления исходной (обратное преобразование) информации. Такие сети являются самоорганизующимися в процессе работы, где обучение производится без учителя.
Архитектура рециркуляционной нейронной сети
Рециркуляционная нейронная сеть представляет собой совокупность двух слоев нейронных элементов, которые соединены между собой двунаправленными связями (рис. 15).
Рис. 15 Архитектура рециркуляционной нейронной сети
Каждый из слоев нейронных элементов может использоваться в качестве входного или выходного. Если слой нейронных элементов служит в качестве входного, то он выполняет распределительные функции. Иначе нейронные элементы слоя являются обрабатывающими. Весовые коэффициенты, соответствующие прямым и обратным связям, характеризуются матрицей весовых коэффициентов W и W'. Для наглядности рециркуляционную сеть можно представить в развернутом виде, как показано на рис.16. Такое представление сети является эквивалентным и характеризует полный цикл преобразования информации. При этом промежуточный слой нейронных элементов производит кодирование (сжатие) входных данных X, а последний слой - восстановление сжатой информации Y. Слой нейронной сети, соответствующий матрице связи W, назовем прямым, а соответствующий матрице связей W' - обратным.
Рис. 16 Эквивалентное представление рециркуляционной сети
В качестве функции активации нейронных элементов F может использоваться как линейная, так и нелинейная функции.
Релаксационные НС
Релаксационные нейронные сети характеризуются прямым и обратным распространением информации между слоями нейронной сети. В основе функционирования лежит итеративный принцип работы. На каждой итерации процесса происходит обработка данных, полученных на предыдущем шаге. Такая циркуляция информации продолжается до тех пор, пока не установится состояние равновесия. При этом состояния нейронных элементов перестают изменяться и характеризуются стационарными значениями.
Нейронные сети Хопфилда
Нейронная сеть Хопфилда реализует существенное свойство автоассоциативной памяти - восстановление по искаженному (зашумленному) образу ближайшего к нему эталонного. Входной вектор используется как начальное состояние сети, и далее сеть эволюционирует согласно своей динамике. Причем любой пример, находящийся в области притяжения хранимого образца, может быть использован как указатель для его восстановления. Выходной (восстановленный) образец устанавливается, когда сеть достигает равновесия.
Обучение сети Хопфилда производится по правилу Хебба.
Структура сети Хопфилда (рис.17) состоит из одного слоя нейронов, число которых определяет число входов и выходов сети. Выход каждого нейрона соединен с входами всех остальных нейронов. Выходные сигналы нейронов являются одновременно входными сигналами сети: Xi(k)=Yi(k-1)
Основные зависимости, определяющие сеть Хопфилда, можно представить в виде:
(12)
с начальным условием yi(0) = xj. В процессе функционирования сети Хопфилда можно выделить два режима: обучения и классификации. В режиме обучения на основе известных обучающих выборок х подбираются весовые коэффициенты wij. В режиме классификации при зафиксированных значениях весов и вводе конкретного начального состояния нейронов у(0) = х возникает переходный процесс, протекающий в соответствии с выражением (Формула выше) и завершающийся в одном из локальных минимумов, для которого y(k) = y(k-l).
Для безошибочной работы сети Хопфилда число запоминаемых эталонов N не должно превышать 0,15n (n-число нейронов).
Рис. 17 Структура нейронной сети Хопфилда
Динамическое изменение состояний сети может быть выполнено, двумя способами: синхронно и асинхронно. В первом случае все элементы модифицируются одновременно на каждом временном шаге, во втором - в каждый момент времени выбирается и подвергается обработке один элемент. Этот элемент может выбираться случайно.
Применение нейронных сетей
Вопрос о необходимых и достаточных свойствах сети для решения задач того или иного рода представляет собой целое направление нейрокомпьютерной науки. Так как проблема синтеза нейронной сети сильно зависит от решаемой задачи, дать общие подробные рекомендации затруднительно. В большинстве случаев оптимальный вариант получается на основе интуитивного подбора, хотя в литературе приведены доказательства того, что для любого алгоритма существует нейронная сеть, которая может его реализовать.
Многие задачи распознавания образов (зрительных, речевых), выполнения функциональных преобразований при обработке сигналов, управления, прогнозирования, идентификации сложных систем, сводятся к следующей математической постановке. Необходимо построить такое отображение X -» У, чтобы на каждый возможный входной сигнал X формировался правильный выходной сигнал У. Отображение задается конечным набором пар (<вход>, <известный выход>). Число этих пар (обучающих примеров) существенно меньше общего числа возможных сочетаний значений входных и выходных сигналов. Совокупность всех обучающих примеров носит название обучающей выборки.
В задачах распознавания образов X - некоторое представление образа (изображение, вектор), У - номер класса, к которому принадлежит входной образ.
В задачах управления X - набор контролируемых параметров управляемого объекта, У - код, определяющий управляющее воздействие, соответствующее текущим значениям контролируемых параметров.
В задачах прогнозирования в качестве входных сигналов используются временные ряды, представляющие значения контролируемых переменных на некотором интервале времени. Выходной сигнал - множество переменных, которое является подмножеством переменных входного сигнала.
При идентификации X и У представляют входные и выходные сигналы системы соответственно.
В результате отображения X -» У необходимо обеспечить формирование правильных выходных сигналов в соответствии:
* со всеми примерами обучающей выборки;
* со всеми возможными входными сигналами, которые не вошли в обучающую выборку.
Второе требование в значительной степени усложняет задачу формирования обучающей выборки. В общем виде эта задача в настоящее время еще не решена, однако во всех известных случаях может быть найдено частное решение.
3.3 Порядок выполнения лабораторной работы
3.3.1. Написать программу на С++ моделирующую двухслойную нейронную сеть структуры согласно варианту, указанному в таблице 4.
Таблица 4 Варианты заданий для построения нейронной сети
№ варианта |
Количество входов |
Количество скрытых нейронов |
Количество выходов |
Функция активации в скрытом слое |
Функция активации в выходном слое |
|
1 |
2 |
5 |
2 |
Сигмоидная |
Сигмоидная |
|
2 |
3 |
7 |
2 |
Сигмоидная |
Пороговая |
|
3 |
2 |
7 |
1 |
Сигмоидная |
Линейная |
|
4 |
1 |
3 |
2 |
Сигмоидная |
Сигмоидная |
|
5 |
2 |
6 |
1 |
Сигмоидная |
Пороговая |
|
6 |
3 |
4 |
3 |
Сигмоидная |
Линейная |
|
7 |
2 |
8 |
1 |
Сигмоидная |
Пороговая |
|
8 |
1 |
9 |
3 |
Сигмоидная |
Линейная |
|
9 |
2 |
4 |
2 |
Линейная |
Пороговая |
|
10 |
1 |
5 |
1 |
Пороговая |
Линейная |
|
11 |
1 |
7 |
1 |
Сигмоидная |
Сигмоидная |
|
12 |
2 |
3 |
2 |
Сигмоидная |
Пороговая |
|
13 |
1 |
4 |
1 |
Пороговая |
Линейная |
|
14 |
1 |
8 |
2 |
Линейная |
Сигмоидная |
|
15 |
2 |
7 |
1 |
Пороговая |
Сигмоидная |
|
16 |
1 |
9 |
1 |
Сигмоидная |
Пороговая |
3.3.2 Веса задать случайным образом в диапазоне [-1; 1]. Подать на вход любую последовательность чисел. Построить график зависимости выхода(ов) сети от входа(ов).
3.3.3 Увеличить значения весов в 10 раз и повторить пункт 2.
3.3.4 Сравнить полученные зависимости выхода(ов) сети от входа(ов).
3.4 Контрольные вопросы
1. Понятие искусственного нейрона. Его математическая модель.
2. Нейронная сеть.
3. Свойства сигмоидальной функции активации.
4. Области применения НС.
5. Однослойные и многослойные НС.
3.5 Оформление отчета по лабораторной работе
Текстовый файл в формате .doc
1. В отчете следует привести код программы, реализующей нейронную сеть согласно варианту, а также скриншоты зависимостей вход(ы)-выход(ы) для двух описанных выше опытов.
2. Выводы по итогам работы.
Лабораторная работа №4
Обучение нейронной сети
4.1 Цель работы
Изучить принципы проектирования и обучения нейронных сетей с помощью пакета Matlab. Изучить на практике работу алгоритма обратного распространения ошибки.
4.2 Теоретическое введение
Способность к обучению является фундаментальным свойством мозга. В контексте искусственных нейронных сетей (ИНС) процесс обучения может рассматриваться как настройка архитектуры сети и весов связей для эффективного выполнения специальной задачи. Обычно нейронная сеть должна настроить веса связей по имеющейся обучающей выборке. Функционирование сети улучшается по мере итеративной настройки весовых коэффициентов. Свойство сети обучаться на примерах делает их более привлекательными по сравнению с системами, которые следуют определенной системе правил функционирования, сформулированной экспертами.
Правило коррекции по ошибке. При обучении с учителем для каждого входного примера задан желаемый выход d. Реальный выход сети y может не совпадать с желаемым. Принцип коррекции по ошибке при обучении состоит в использовании сигнала (d-y) для модификации весов, обеспечивающей постепенное уменьшение ошибки. Обучение имеет место только в случае, когда перцептрон ошибается. Известны различные модификации этого алгоритма обучения.
Подобные документы
Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.
дипломная работа [3,8 M], добавлен 27.06.2011Признаки и отличительные черты интеллектуальных информационных систем, их классификация и использование при разработке экономических и управленческих решений. Определение, назначение и области применения экспертных систем. Использование нейронных сетей.
курс лекций [1,7 M], добавлен 27.04.2009Исследование математико-экономической модели компании с целью выработки оптимального решения по выпуску продукции для получения максимальной прибыли и минимизации затрат с помощью методов оптимизации и программы MS Excel и инструментального пакета Matlab.
дипломная работа [3,1 M], добавлен 15.06.2014Разработка программной реализации решения задачи о минимальном покрывающем дереве графа (построение минимального остова), используя алгоритмы Прима и Крускала. Подсчет времени работы алгоритмов. Их программная реализация на практике с помощью Delphi 7.
курсовая работа [538,1 K], добавлен 29.08.2010Разработка модифицированных алгоритмов поиска оптимального маршрута в графе. Задание дополнительных условий и ограничений. Реализация модели для внутреннего представления транспортной сети. Создание программного комплекса в среде Visual Studio 2010.
курсовая работа [1,1 M], добавлен 16.04.2015Задача анализа деловой активности, факторы, влияющие на принятие решений. Современные информационные технологии и нейронные сети: принципы их работы. Исследование применения нейронных сетей в задачах прогнозирования финансовых ситуаций и принятия решений.
дипломная работа [955,3 K], добавлен 06.11.2011Теория оптимизации, принципы построения алгоритмов оптимальных решений. Основные понятия: проектные параметры, целевые функции, поиск минимума и максимума, пространство проектирования, ограничения – равенства и неравенства, локальный и глобальный оптимум.
реферат [72,3 K], добавлен 14.09.2009Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.
курсовая работа [377,4 K], добавлен 26.02.2015Автоматизация работы на предприятии: установка программы MS Office 2010, операционной системы Windows XP и антивируса ESET NOD 32 Smart Security; оптимизация компьютеров с помощью auslogics boostspeed. Принципы создания чертежей с помощью Visio 2007.
отчет по практике [6,3 M], добавлен 19.07.2011Понятие информационной системы как системы сбора, хранения, накопления, поиска и передачи информации, применяемая в процессе управления или принятия решений. Классификация и структура информационных систем. Разнообразие задач, решаемых с помощью ИС.
контрольная работа [160,6 K], добавлен 18.01.2010