Методы построения конечных автоматов на основе ...
Методы построения конечных автоматов на основе ...
Методы построения конечных автоматов на основе ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
157лабораторию было получено свидетельство о регистрации программы дляЭВМ (третье свидетельство в Приложении 1).О<strong>на</strong> состоит из ядра и подключаемых модулей (плагинов), которыереализуют конкретные задачи и методы их решения. Ядро представленоклассом Brain, который ответственен за загрузку основных сущностейпрограммного комплекса: задач, методов поисковой оптимизации ивизуализаторов, а также выполняет функции распределения ресурсовмежду работающими алгоритмами.4.2.2.1. Структура виртуальной лабораторииДля описания задач используются абстрактные классы Problem иIndividual, от которых <strong>на</strong>следуются классы, описывающие конкретныезадачи, <strong>на</strong>пример задачу «Умный муравей».Класс Problem содержит метод OptimizationDirection,возвращающий информацию о <strong>на</strong>правления оптимизации (минимизацияили максимизация) и метод EvaluateIndividual, пред<strong>на</strong>з<strong>на</strong>ченныйдля вычисления функции приспособленности у конкретной особи.Наследники этого класса должны реализовывать эти методы, а такжеметоды, обеспечивающие доступ к базовой информации о задаче: <strong>на</strong>званиии ее кратком описании.Алгоритмы решения описываются классами Algorithm иSearchOperator, от которых, в свою очередь, <strong>на</strong>следуются классы,реализующие конкретные методы поисковой оптимизации, <strong>на</strong>пример,метод спуска <strong>на</strong> <strong>основе</strong> случайных мутаций или генетический алгоритм.Класс SearchOperator необходим для организации требуемых взадаче операций <strong>на</strong>д объектами класса Individual. Он обеспечиваетуниверсальность в применении методов решения к различным задачам.Общая структура изображе<strong>на</strong> <strong>на</strong> рис. 40.