Дипломная работа: Использование алгоритмов искусственного интеллекта в процессе построения UFO-моделей
							  
Рисунок 2.8 – Примеры контекстных диаграмм компонентов
Тогда вход a и выход b системы могут быть соединены с помощью компонентов С1 и С2 так, как показано на рис. 2.9.

Рисунок 2.9 – Примеры соединений компонентов
2.3 Элементарное перемещение муравья
2.3.1 Перемещение из входа контекстной диаграммы
Пусть изначально муравей
находится в конце входной стрелки In (n). Он может случайным образом выбрать
из библиотеки компонентов любой компонент 
,
у которого есть вход 
, который можно
присоединить к входу In (n). После присоединения входа 
 компонента 
 к входу In (n) контекстной диаграммы, муравей "переползает" по
входу 
 на компонент 
 и пытается присоединять "висящие"
входы компонента 
 либо к еще
свободным входам контекстной диаграммы системы, либо к еще свободным выходам
других компонентов. Аналогично муравей пытается присоединять "висящие"
выходы компонента 
 либо к еще
свободным выходам контекстной диаграммы системы, либо к еще свободным входам
других компонентов (рис. 2.10).

Рисунок 2.10 – Присоединение компонента к входу системы
Если после
вышеперечисленных действий муравья у компонента 
 не
осталось "висящих" входов и выходов, то муравей "выползает"
из компонента 
 по входу 
, через который он попал в
этот компонент. На этом перемещения муравья прекращаются.
Если же у компонента 
 остались "висящие"
входы и выходы, то муравей случайным образом размещается на любом из них. Если
муравей оказался в конце "висящего" входа компонента 
, то далее он должен
действовать так, как описано ниже в пункте 2.3.3. Если муравей оказался в
начале "висящего" выхода компонента 
,
то далее он должен действовать так, как описано ниже в пункте 2.3.4.
2.3.2 Перемещение из выхода контекстной диаграммы
Пусть изначально муравей
находится в начале выходной стрелки Out (m). Он может случайным образом выбрать
из библиотеки компонентов любой компонент 
,
у которого есть выход 
, который можно
присоединить к выходу Out (m). После присоединения выхода 
 компонента 
 к выходу Out (m) контекстной диаграммы, муравей "переползает" по
выходу 
 на компонент 
 и пытается присоединять "висящие"
входы компонента 
 либо к еще
свободным входам контекстной диаграммы системы, либо к еще свободным выходам
других компонентов. Аналогично муравей пытается присоединять "висящие"
выходы компонента 
 либо к еще
свободным выходам контекстной диаграммы системы, либо к еще свободным входам
других компонентов (рис. 2.11).

Рисунок 2.11 – Присоединение компонента к выходу системы
Если после
вышеперечисленных действий муравья у компонента 
 не
осталось "висящих" входов и выходов, то муравей "выползает"
из компонента 
 по выходу 
, через который он попал в
этот компонент. На этом перемещения муравья прекращаются.
Если же у компонента 
 остались "висящие"
входы и выходы, то муравей случайным образом размещается на любом из них. Если
муравей оказался в конце "висящего" входа компонента 
, то далее он должен
действовать так, как описано ниже в пункте 2.3.3. Если муравей оказался в
начале "висящего" выхода компонента 
,
то далее он должен действовать так, как описано ниже в пункте 2.3.4.
2.3.3 Перемещение из входа UFO-компонента
Пусть изначально муравей
находится в начале входной стрелки 
 компонента
. Он может случайным
образом выбрать из библиотеки компонентов любой компонент 
, у которого есть выход 
, который можно
присоединить к входу 
. После
присоединения выхода 
 компонента 
 к входу 
 компонента 
, муравей "переползает"
по выходу 
 на компонент 
 и пытается присоединять "висящие"
входы компонента 
 либо к еще
свободным входам контекстной диаграммы системы, либо к еще свободным выходам
других компонентов. Аналогично муравей пытается присоединять "висящие"
выходы компонента 
 либо к еще
свободным выходам контекстной диаграммы системы, либо к еще свободным входам
других компонентов (рис. 2.12).

Рисунок 2.12 –
Присоединение компонента 
 к входу
компонента ![]()
Если после
вышеперечисленных действий муравья у компонента 
 не
осталось "висящих" входов и выходов, то муравей "переползает"
из компонента 
 по выходу 
 назад через вход 
 в компонент 
. Если у компонента 
 еще остались "висящие"
входы и выходы, то муравей случайным образом размещается на любом из них. Иначе
– покидает компонент 
 по тому пути, по
которому он на него попал.
Если же у компонента 
 остались "висящие"
входы и выходы, то муравей случайным образом размещается на любом из них.
2.3.4 Перемещение из выхода UFO-компонента
Пусть изначально муравей
находится в конце выходной стрелки 
 компонента
. Он может случайным
образом выбрать из библиотеки компонентов любой компонент 
, у которого есть вход 
, который можно
присоединить к выходу 
. После
присоединения входа 
 компонента 
 к выходу 
 компонента 
, муравей "переползает"
по входу 
 на компонент 
 и пытается присоединять "висящие"
входы компонента 
 либо к еще
свободным входам контекстной диаграммы системы, либо к еще свободным выходам
других компонентов. Аналогично муравей пытается присоединять "висящие"
выходы компонента 
 либо к еще
свободным выходам контекстной диаграммы системы, либо к еще свободным входам
других компонентов (рис. 2.13).

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9


