Системы искусственного интеллекта
Краткое сожержание материала:
Размещено на
Размещено на
Министерство образования и науки РФ
Владимирский Государственный Университет
Имени А. Г. и Н. Г. Столетовых
Кафедра ФиПМ
Курсовая работа
«Системы искусственного интеллекта»
Выполнил:
ст. гр. АИС - 108
Болонкин А.А.
Проверил:
Абрахин С. И.
Владимир 2011
Содержание
Глава 1. Нечеткая логика и генетические алгоритмы
1.1 Нечеткая логика
1.2 Генетические алгоритмы
1.3 Задание
1.4 Реализация
Глава 2. Нейронные сети
2.1 Нейронные сети
2.2 Задание
2.3 Реализация
Вывод
Глава 1. Нечеткая логика и генетические алгоритмы
1.1 Нечеткая логика
Fuzzy Logic Toolbox - это пакет прикладных программ, входящих в состав среды MatLab. Он позволяет создавать системы нечеткого логического вывода и нечеткой классификации в рамках среды MatLab, с возможностью их интегрирования в Simulink. Базовым понятием Fuzzy Logic Toolbox является FIS-структура - система нечеткого вывода (Fuzzy Inference System). FIS-структура содержит все необходимые данные для реализации функционального отображения “входы-выходы” на основе нечеткого логического вывода согласно схеме
Обозначения:
X - входной четкий вектор;
- вектор нечетких множеств, соответствующий входному вектору X;
- результат логического вывода в виде вектора нечетких множеств;
Y - выходной четкий вектор.
Fuzzy Logic Toolbox содержит следующие категории программных инструментов:
Функции Fuzzy Logic Toolbox
Первая категория программных инструментов пакета Fuzzy Logic Toolbox содержит функции, которые могут быть вызваны непосредственно путем набора имени функции в командном окне (command line) или из собственных пользовательских приложений. Большинство из этих функций представляют собой матлабовские функции в виде m-файлов. В этом случае пользователь может посмотреть запрограммированные в этих функциях алгоритмы а также редактировать и корректировать эти файлы. Ниже приведены названия примененных функций с кратким описанием их назначения:
· addmf - добавление функции принадлежности в FIS
FIS_name=addmf(FIS_name, varType, varIndex, mfName, mfType, mfParams)
Описание:
Функцию принадлежности можно добавить только к существующей в рабочей области MatLab системе нечеткого логического вывода. Другими словами система нечеткого логического вывода должна быть каким-то образом загружена в рабочую область или создана с помощью функции newfis. Функция addmf имеет шесть входных аргументов:
ь FIS_name - идентификатор системы нечеткого логического вывода в рабочей области MatLab;
ь varType - тип переменной, к которой добавляется функция принадлежности. Допустимые значения - `input' - входная переменная и `output' - выходная переменная;
ь varIndex - порядковый номер переменной, к которой добавляется функция принадлежности;
ь mfName - наименование добавляемой функции принадлежности (терм). Задается в виде строки символов;
ь mfType - тип (модель) добавляемой функции принадлежности. Задается в виде строки символов;
ь mfParams - вектор параметров добавляемой функции принадлежности.
Порядковый номер функции принадлежности в системе нечеткого логического вывода соответствует порядку добавления с помощью функции addmf, т.е. первая добавленная функция принадлежности всегда будет иметь порядковый номер 1. С помощью функции addmf невозможно добавить функцию принадлежности к несуществующей переменной. В этом случае необходимо вначале добавить переменную к системе нечеткого логического вывода с помощью функции addvar.
Пример. FIS_name=addmf(FIS_name, `input', 1, `низкий', `trapmf', [150, 155, 165, 170])
Строка добавляет в терм-множество первой входной переменной нечеткой системы FIS_name терм `низкий' с трапециевидной функцией принадлежности с параметрами [150, 155, 165, 170].
· addrule - добавление правила в FIS
FIS_name= addrule (FIS_name, ruleList)
Описание:
Правила можно добавить только к существующей в рабочей области MatLab системе нечеткого логического вывода. Функция addrule имеет два входных аргумента:
ь FIS_name - идентификатор системы нечеткого логического вывода в рабочей области MatLab;
ь ruleList - матрица добавляемых правил.
Матрица правил должна быть задана в формате indexed. Количество строк матрицы ruleList равно количеству добавляемых правил, т.е. каждая строка матрицы соответствует одному правилу. Количество столбцов матрицы равно m+n+2, где m (n) - количество входных (выходных) переменных системы нечеткого логического вывода.
Первые m столбцов соответствуют входным переменным, т.е. задают ЕСЛИ-часть правил. Элементы этих столбцов содержат порядковые номера термов, используемых для лингвистической оценки соответствующих входных переменных. Значение 0 указывает, что соответствующая переменная в правиле не задана, т.е. ее значение равно none.
Следующие n столбцов соответствуют выходным переменным, т.е. задают ТО-часть правил. Элементы этих столбцов содержат порядковые номера термов, используемых для лингвистической оценки соответствующих выходных переменных.
Предпоследний столбец матрицы содержит весовые коэффициенты правил. Значения весовых коэффициентов должны быть в диапазоне [0, 1].
Последний столбец матрицы задает логические связки между переменными внутри правил. Значение 1 соответствует логической операции И, а значение 2 - логической операции ИЛИ.
Пример. FIS_name=addrule(FIS_name, [1 1 1 1 1; 1 2 2 0.5 1])
Строка добавляет в базу знаний системы FIS_name два правила, которые интерпретируются следующим образом:
Если вход1=MF1 и вход2=MF1, то выход1=MF1 с весом 1,
Если вход1=MF1 и вход2=MF2, то выход1=MF2 с весом 0.5,
где MF1 (MF2) - терм с порядковым номером 1 (2).
· addvar - добавление переменной в FIS
FIS_name= addvar (FIS_name, varType, varName, varBound)
Описание:
Переменную можно добавить только к существующей в рабочей области MatLab системе нечеткого логического вывода. Функция addrvar имеет четыре входных аргумента:
ь FIS_name - идентификатор системы нечеткого логического вывода в рабочей области MatLab;
ь varType - тип добавляемой переменной. Допустимые значения - `input' - входная переменная и `output' - выходная переменная;
ь varName - наименование добавляемой переменной. Задается в виде строки символов;
ь varBound - вектор, задающий диапазон изменения добавляемой переменной.
Порядковый номер переменной в системе нечеткого логического вывода соответствует порядку добавления с помощью функции addvar, т.е. первая добавленная переменная будет иметь порядковый номер 1. Входные и выходные переменные нумеруются независимо.
Пример. FIS_name=addrule(FIS_name, `input', `Рост', [155 205])
Строка добавляет в систему нечеткого логического вывода FIS_name входную переменную `Рост', заданную на интервале [155 205].
· evalfis - выполнение нечеткого логического вывода
output = evalfis(input, fis)
output = evalfis(input, fis, numPts)
[output, IRR, ORR, ARR] = evalfis(input, fis)
[output, IRR, ORR, ARR] = evalfis(input, fis,,numPts)
Описание:
Выполняет нечеткий логический вывод. Функция evalfis может иметь три входных аргумента, первые два из которых обязательные:
input - матрица значений входных переменных, для которых необходимо выполнить нечеткий логический вывод. Матрица должна иметь размер M x N, где N - количество входных переменных; M - количество входных данных. Каждая строчка матрицы представляет один вектор значений входных переменных;
ь fis - идентификатор системы нечеткого логического вывода;
ь numPts - необязательный входной аргумент, задающий количество точек дискретизации функций принадлежности. Значение по умолчанию равно 101. Это означает, что все нечеткие множества представляются в виде 101 пары чисел “элемент универсального множества - степень принадлежности”. При уменьшении точек дискретизации возрастает скорость выполнения логического вывода и уменьшается точность вычислений, и наоборот.
Функция evalfis может иметь четыре выходных аргумента:
ь output - матрица значений выходных переменных, получаемая в результате нечет...
Проблемы искусственного интеллекта
Сущность и проблемы определения искусственного интеллекта, его основных задач и функций. Философские проблемы создания искусственного интеллекта и обе...
Системы искусственного интеллекта
История развития искусственного интеллекта. Экспертные системы: их типы, назначение и особенности, знания и их представление. Структура идеальной и ин...
Гибридные интеллектуальные системы
В монографии рассматриваются вопросы построения моделей и архитектур гибридных систем искусственного интеллекта, совмещающих в себе разные методы пре...
Реальность и прогнозы искусственного интеллекта
Реальность и прогнозы искусственного интеллекта: Сб. статей; Пер. с англ./Под ред. и с предисл. В. Л. Стефанюка.—М.: Мир, 1987.—247 с, ил.— (В мире на...
Технологии искусственного интеллекта
Понятие искусственного интеллекта, основные цели разработок в этой области. Что такое интеллектуальное поведение и его возможности. Структура интеллек...