Раздел 2
Генетические и эволюционные алгоритмы
УДК 628.3
В.М. Курейчик НОВЫЙ ПОДХОД К РАСКРАСКЕ И ОПРЕДЕЛЕНИЮ КЛИК ГРАФА НА ОСНОВЕ КВАНТОВЫХ АЛГОРИТМОВ
В задаче искусственного интеллекта и других задачах оптимизации возникает необходимость получать решения № - полных проблем с экспоненциальной .
таких задач, основанные на методах квантового поиска [1-3]. Квантовый поиск анализирует неструктурированные проблемы, которым в общем виде формулируются следующим образом [1]. Задана функция Дх), аргументы х - целые числа (х=1,2,....,№), причем Дх) принимает значение ноль во всех случаях, кроме х=1 Необходимо найти значение 1, используя наименьшее число запросов к Дх). Задачи такого типа при небольшом х<100 решаются на основе полного перебора (исчерпывающего поиска) или методом проб и ошибок. Например, если х=^ то в среднем потребуется 0(Ж2) запросов к Дх) и в худшем случае 0(Ы-1) запросов для нахождения х=1
Идею и структуру квантового алгоритма предложил Л.Гровер [1]. Согласно [3] при решении неструктурированной проблемы поиска существует “оракул”, определяющий является ли рассматриваемое решение искомым.
Л.Гровер рассматривает N целых чисел индекса х=1,2,..., N как набор ортогональных векторов X = 1,2,...,к в N - размерном пространстве Хильберта. Этот шаг алгоритма как бы на языке вычисления кванта, ставит в соответствие каждому возможному индексу уникальный собственный вектор. Первоначально готовится пространство
1 N
§ = Тх ,
т.е. как бы квантовый регистр памяти, содержащий определенное количество суперпозиций, равное количеству всех N [3].
Для реализации поиска это квантовое пространство должно развиваться в общую суперпозицию, которая имеет амплитуду, сконцентрированную в 7 век, . кругооборота и на Ь=0(^2№). Другими словами, если имеется отличное от нуля
совпадение между стартовым пространством § и целевым 7 , т. е. 7 |И| § Ф 0, тогда можно использовать унитарную процедуру И для выполнения классического поиска цели. Л.Гровс предлагает использовать И и Дх), чтобы построить
увеличивающий амплитуду оператор Q, который изменяет амплитуду вероятности
от не - цели векторов векторов S Ф t в цель S = t [3]. Поведение “оракула” в алгоритме квантового поиска моделируется такой возвратной функцией f(x)=0, для всех x,t и f(x)=1, для x=t.
Для решения NP-полных проблем на графах предлагается анализировать структуру графа, чтобы “выращивать” полные решения, рекурсивно расширяя последовательные частичные решения. В задачах на графах важным является нахождение инвариантов. Инвариант графа G=(X,U), где |X|=n, a |U|=m, это число, связанное с G, которое принимает одно и то же значение на любом графе, изоморф-G. , n m -
. -физма [4]. Основными инвариантами графа является числа: цикломатическое, хроматическое, внешней и внутренней устойчивости, клик, полноты, ядер, планарности и т.д.
Приведем модифицированный алгоритм квантового поиска.
1. .
2. Ввод исходных данных.
3. -.
4. .
5. Если набор полных решений построен, то переход к 6, если нет, то к 4.
6. Лексикографический перебор полных решений и выбор из него оптимального или квазиоптимального решения.
7. Конец работы алгоритма.
Приведем укрупненный код алгоритма квантового поиска на Паскале.
begin {основная программа} generation:=0 {установка} initialize;
repeat {основной цикл} gen:=gen+1 generation;
statistics (max, avg, min, sumfitness, newsol)
report (gen) oldsol:=newsol until (gen > maxgen)
end { }.
Здесь generation (gen) - генерации (итерации) алгоритма; max, avg, min, sum-fitness - , , , -
ции; oldsol, newsol - старое и новое решение соответственно. Алгоритм квантового поиска (1 итерация выполняется в блоке repeat).
Работа алгоритма начинается с чтения данных, инициализации случайных , . report -
ставляет полный отчет обо всех параметрах алгоритма. На основе анализа данных report
. -
пали в один из них, то увеличение числа генераций может не привести к улучшению значений целевой функции. В этом случае наступила предварительная сходи.
Алгоритмы квантового поиска весьма чувствительны к изменениям и перестановкам входных параметров исходной модели. Это говорит о том, что, например, для одного вида матрицы можно получить решение с одним локальным оптимумом. А для этой же матрицы с переставленными строками и столбцами можно получить другое решение с лучшим локальным оптимумом.
Следует отметить, что, изменяя параметры, алгоритмы и схему квантового поиска, в некоторых случаях можно выходить из локальных оптимумов. Эта проблема продолжает оставаться одной из важнейших во всех методах оптимизации.
Покажем на примере графа (рис.1) определение числа клик на основе квантового алгоритма [5]. Клика - это полный подграф, содержащий наибольшее число вершин. Соответственно число полноты - это наибольшее число вершин, которые содержат клики графа.
Рис.1
При определении клик графа найдем частичные решения для каждой вершины граф рекурсивно расширяя “хорошие” решения и устраняя тупиковые решения. На первом шаге квантового поиска для вершины 1 получим следующее частичные решения:
{1,2}, {1,3}, {1,4} - 1 уровень,
{1,2,3}, {1,2,4}, {1,3,4} - 2 уровень,
{1,2,3,4} - 3 уровень.
В результате после суперпозиции частичных решений получим клику Ох={1,2,3,4}, ^| = 4. На втором шаге для вершины 2 получим: {2,5}, р2={2,5}, ^2| =2. Для третьей вершины частичных решений нет. Для четвертой вершины имеем {4,7}, 0э={4,7}, | Оэ|=2.
Для пятой вершины получим следующие частичные решения:
{5,6}, {5,7} - 1 ,
{5,6,7} - 2 .
После суперпозиции частичных решений получим клику р4 ={5,6,7} ^4 |=3. Итак, для графа в (рис.1) построено семейство клик р={ р2 , р3 , р4}.
4.
Рассмотрим решение раскраски графа на основе квантового поиска. Раскраской графа в=(Х,И) называется разбиение графа на такие непересекающиеся подмножества вершин Х1 п Х2п .... П Хе = 0 , Х1 и Х2и ... и Хе = X, что вершины внутри каждого подмножества несмежны. Наименьшее число подмножеств Х1 при раскраске называется хроматическим числом графа.
Алгоритм основан на нахождении частичной раскраски для подмножеств .
частичных окрасок с возвратом назад в случае тупиковых решений. Элементарный способ состоит в рассмотрении дерева поиска частичных решений заданной глубины. Решение по раскраске находится на “ветвях и листьях” этого дерева. Например, пусть задан граф в=(Х,И) из [3], где |Х|=7 (рис.2).
Рис.2
Построим дерево частичной раскраски, приведенное на рис.З.
• • • •
Рис.3
Корневая вершина дерева содержит все вершины X графа G. На первом уровне дерева располагаются все вершины графа. Отметим, что возможно случайное и упорядоченное расположение вершин. Наиболее вероятным кажется упорядоченность вершин по уменьшению локальных степеней. Хотя, конечно, требуются экспериментальные исследования на графах различного вида. Выбираем на первом уровне вершину 1 и определяем возможные частичные решения по раскраске, включающие эту вершину. Следуя по дереву вниз, видно, что имеем три частичных решения {1,3}, {1,6}, {1,7}. Дальнейшее расширение этих частичных решений невозможно. Это отмечено знаком ‘-‘ .. Переходим к вершине 2 и строим два новых частичных решения {2,4,6} и {2,3,4}. Вершина 3 частичных решений не дает. Вершина 4 дает частичное решение{4,5,6} и вершина 5 - {5,6,7} . Вершины 6 7 -
гается операция суперпозиции. Суть операции в объединении п частичных решений в одно с исключением повторяющихся элементов. Например:
{1,2} S {3,4,5} S {1,3,7} = [{1,2}, {3,4,5}, {7}].
Здесь S - знак суперпозиции. Задача выбрать решение с наименьшим числом подмножеств, что позволит найти раскраску с наименьшим числом цветов. Приведем эвристическое правило.
При наличии нескольких возможных альтернатив суперпозицию выполнять , .
Для графа G (см. рис.2) на основе дерева частичных решений выполним следующие операции суперпозиции.
1. :
{1,3} 8 {2,4,6} 8 {4,5,6} - 2 общих элемента,
{1,3} 8 {2,4,6} 8 {5,6,7} - 1 общий элемент.
Выбираем решение с одним общим элементом. Получим первую раскраску с 3 цветами А,В и С:
{-1,3} - А,
{2,4,6} - В,
{5,7} - С.
2 :
{1,6} 8 {2,3,4} 8 {4,5,6} - 2 общих элемента,
{1,6} 8 {2,4,6} 8 {5,6,7} - 1 общий элемент.
Выбираем решение с одним общим элементом. Получим вторую раскраску также с 3 цветами Б, Е и Б :
{1,6} - Б,
{2,3,4} - Е,
{5,7} - Б.
3 Суперпозиция:
{1,7} 8 {2,3,4} 8 {5,6,7} - 1 общий элемент,
{1,7} 8 {2,3,4} 8 {4,5,6} - 1 общий элемент.
Выберем любое решение с 1 общим элементом. Получим третью раскраску, также с 3 цветами Н, I, К:
{1,7} - Н,
{2,3,4} - I,
{5,6} - К.
На рис.4 а,б,в показаны три возможных раскраски графа в (см.рис.2). Соответственно хроматическое число данного графа равно трем.
А О Н
а б в
Рис.4
В заключение отметим, что квантовый поиск может ускорить классический ,
пространство поиска искомого решения.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Grover L.K. A Fast Quantum Mechanical Algorithm for Data-base Search. Proc. 28 th Ann. ACM Press, New York, 1996, pp.212-219.
2. Grover L.K. Synthesis of Quantum Superpositions by Quantum Computation. Physical Rev. Letters, Vol 85. No.6, 2000, pp.1334-1337.
3. Williams C.P. Quantum Search Algorithms in Sciences and Engineering. Computing in sciences and engineering, March April 2001, pp.44-51.
4. Харари Ф. Теория графов, М.: Мир, 1973.
5. . . -
мов. Перспективные информационные технологии и интеллектуальные системы.
№2 (18), 2004. С. 14-16.
УДК 658. 512. 2. 011. 56
В.М. Курейчик, С.П. Малюков, С.А. Обжелянский ДИНАМИЧЕСКИЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ АВТОМАТИЗАЦИИ ПОДБОРА МАТЕРИАЛОВ С ЗАДАННЫМИ СВОЙСТВАМИ ПРИ ПРОЕКТИРОВАНИИ МАГНИТНЫХ ГОЛОВОК*
В процессе разработки магнитных головок (МГ) одним из наиболее важных этапов является подбор материалов с заданными свойствами. Он обязателен при формировании спаев, т.к. материалы, используемые при изготовлении МГ (фер-, , ), , , коэффициент линейно-термического расширения (КТР) и другие свойства. Важно , -, . , -ванный подбор материалов с согласованными свойствами позволяет значительно улучшить качество разработок МГ.
Первым этапом разработки алгоритма для подбора материалов с заданными свойствами является определение области изучения свойств исследуемого мате.
, -
риалов от их состава. В результате использования полученных уравнений можно подобрать состав материала с заданными свойствами.
В предыдущей работе разработка алгоритма подбора материала с заданными свойствами проводилась на примере синтеза стекловидных диэлектриков для спаев стекла с титаном [1], где использовался метод Брандона [2]. Данный метод позволил получить общие уравнения, которые связывают свойства стекол (КТР, Тё - температуру размягчения стекла, Н - микротвердость стекла) (табл. 1) с процентным содержанием компонентов стекла (хь ..., х9 - так обозначены векто-, 1-10):
У1 = Ух/х (Х1) ¡2 ( Х 2 ) /3 ( Х3 ) /4 (Х 4 ) /5 ( Х5 ) /6 (Х 6 ) /7 (Х 7 ) /8 (Х 8 ) /9 (Х 9 ) ; (1)
У2 = У2/X0(Х1)/11(Х2)/12(Х3)/13(Х4)/14(Х5)/15(Х6)/X6(Х7)/П(Х8)/18(Х9) ; ( )
у3 = У 3/19 (XX^/20(x2^/2X(x3^/22( Х4 ^/23 (Х5^/24( Х6^/25( Х7^/26( Х8 ) /27 (х9 ) , ( )
* Работа выполнена при поддержке РФФИ, грант № 04-01-00174