Разработка и исследование вероятностных эволюционных алгоритмов для моделирования и оптимизации сложных систем

Диссертация - Менеджмент

Другие диссертации по предмету Менеджмент

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

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

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

Непараметрические методы не требуют дополнительной информации о структуре (параметрической) моделируемого объекта. Задача регрессии решается путем восстановления плотности вероятности [9, 17]:

 

,

,

 

где - заданная колоколобразная функция, - параметр размытости.

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

 

.

 

Функция активации нейрона - некоторое нелинейное преобразование взвешенной суммы входных переменных. Задавая различные архитектуры сетей, состоящие из множества нейронов можно описывать сложные нелинейные зависимости [7, 30].

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

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

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

 

2.2Обычный метод генетического программирования для решения задачи символьной регрессии и его исследование

 

Для решения многих практических задач наиболее естественным представлением решений являются компьютерные программы. Обычно компьютерные программы - иерархические композиции процедур и входных данных, отражающих состояние системы. Одна из центральных задач теории вычислительных систем (computer science) - научить компьютер решать поставленную задачу, не объясняя ему как это делать. Генетическое программирование позволяет сделать это путем создания работающих компьютерных программ исходя из высокоуровневой постановки задачи. Генетическое программирование достигает поставленной цели автоматического программирования или программного синтеза (automatic programming, program synthesis) путем выращивания популяций компьютерных программ, используя принцип естественного отбора Дарвина, и основанные на генетических принципах операторы, которые могут включать репродукцию, скрещивание и мутацию [48].

Каким образом генетические алгоритмы могут быть использованы для автоматического программирования?

В 1975 году Джон Холланд предложил некую модификацию генетического алгоритма известную как классификатор (classifier system), состоящий из IF…THEN правил. Например, бит равный 1 означает выполнение условия IF, бит равный 0 - не выполнение, последующие биты определяют действие при выполнении (невыполнении) условий [45].

В 1985 году Н. Крамер предложил вычислять непосредственно код компьютерных программ и продемонстрировал эволюцию простых арифметических выражений. Он также предложил представление решений в виде деревьев [40].

Джон Коза (John R. Koza) в 1987 продемонстрировал эволюцию выражений языка программирования LISP (LISP S-expression), которые по сути являются компьютерными программами. Он впервые использовал термин генетическое программирование. В 1989 году Коза показал применение генетического программирования для решения различных задач [49].

Настоящее развитие генетическое программирование получило после выхода в 1992 году книги Джона Козы Genetic Programming: On the Programming of Computers by Means of Natural Selection & Genetics, в которой он продемонстрировал области применения метода, а также численные результаты экспериментов и некоторые практические рекомендации [50].

 

2.2.1Представление решений в методе генетического программирования

По сути, генетическое программирование является некой модификацией генетического алгоритма, основное различие - в представлении решений. Решения в генетическом программировании могут иметь различную форму и размер, в генетиче?/p>