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

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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

Работы с инструментарием генетического алгоритма.

ga - Поиск минимума функции при помощи генетического алгоритма

gaoptimget - Получить значения структуры опций генетического алгоритма

gaoptimset - Создать структуры опций генетического алгоритма

gatool - Открыть графический инструментарий генетического алгоритма

Для выполнения Генетического алгоритма с принимаемыми по умолчанию опциями следует вызвать команду ga согласно следующему синтаксису:

[x fval] = ga(@fitnessfun, nvars)

Входными аргументами для команды ga будут следующие величины:

@fitnessfun - Указатель функции в М-файле, по которой производится расчет функции пригодности. Пояснения по формированию М-файла приведены в разделе Составление М-файлов для подлежащих оптимизации функций.

nvars - число независимых переменных для функции пригодности.

Выходными переменными являются:

x - Конечная точка расчета.

fval - Значение функции пригодности в точке x.

Дополнительные выходные аргументы

Дополнительную информацию о характеристиках Генетического алгоритма можно получить при выполнении команды при следующем синтаксисе:

[x fval reason output population scores] = ga(@fitnessfcn, nvars)

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

Установка опций для команды ga из командной строки

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

[x fval] = ga(@fitnessfun, nvars, options)

Структура опций формируется при помощи команды gaoptimset.options = gaoptimset

Эта команда возвращает структуру опций с следующими принимаемыми по умолчанию значениями полей:

options = : doubleVector: [2x1 double]: 20: 2: 0.8000: forward: 20: 0.2000: 100: Inf: -Inf: 50: 20: []: []: 1: @gacreationuniform: @fitscalingrank: @selectionstochunif: @crossoverscattered: @mutationgaussian: []: final: []: []: off

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

Значения каждой из опции сохраняется в поле опционной структуры, такой как опция.PopulationSize. Если ввести имя из соответствующего поля, то можно отображать любые из этих значений. Например, для отображения размера семейства для выбранного Генетического алгоритма следует ввести команду:.PopulationSize= 20

Для формирования структуры опций со значением полей, отличных от принимаемых по умолчанию величин, следует установить соответствующую опцию. Например, с помощью выполнения команды с опцией PopulationSize, равной 100, можно установить соответствующее значение (100) вместо принимаемого по умолчанию значения 20:= gaoptimset(PopulationSize, 100)

Эта команда формирует структуру опций совместно со всеми остальными принимаемыми по умолчанию значениями за исключением PopulationSize, установленного как равного 100.

Если далее выполнить команду:(@fitnessfun, nvars, options)

то программа ga выполнит команду генетического алгоритма с размером семейства, равного 100.

Если в последствии будет необходимо изменить и другие поля структур, таких как установка PlotFcns как @gaplotbestf, с помощью которой осуществляется рисование графика наилучших значений функции пригодности для каждого поколения, то следует выполнить команду gaoptimset со следующим значением синтаксиса:

options = gaoptimset(options, PlotFcns, @plotbestf)

Эта команда сохраняет текущие значения всех полей опций за исключением PlotFcns, которое переходит в @plotbestf. Отметим, что если опустить опцию входных аргументов, то gaoptimset переустанавливает PopulationSize с его принимаемым по умолчанию значением, равным 20.

Так же имеется возможность с помощью только одной команды установить сразу две опции PopulationSize и PlotFcns:

options = gaoptimset(PopulationSize,100,PlotFcns,@plotbestf)

Использование опций и задач из инструментария Генетического алгоритма

В качестве альтернативы создания структуры опций с помощью команды gaoptimset, в инструментарии Генетического алгоритма имеется возможность предварительно устанавливать эти значения опций и затем экспортировать их в структуру опций рабочего пространства MATLAB, как это описано в разделе Экспорт опций и задач. В случае экспорта принимаемых по умолчанию опций в инструментарий Генетического алгоритма окончательная структура опций будет иметь те же самые установки, как и принимаемая по умолчанию структура, возвращаемая из команды= gaoptimset

В случае экспорта структуры задач с помощью команды ga_problem из инструментария Генетического алгоритма, то можно использовать команду ga со следующим синтаксисом:

[x fval] = ga(ga_problem)

Структура задач включает в себя следующие поля:

fitnessfcn - функция пригодности.

nvars - Количество переименных в данной задаче.

options - Структура опций.

 

1.3Задание

 

Реализовать аппроксимацию функции с применением аппарата нечеткого логического вывода, с оптимизацией параметров функций принадлежности с помощью генетического алгоритма

Сформировать систему приближающую функцию: y=x12+x22+kx1x2

на области D={-2?x1?2; -2? x2 ?2}, где