Семенов А.С. Фрактальные вычисления.

advertisement
УДК 519.95 + 621.3
Фрактальные вычисления
© 2008 г. А.С. Семенов
Москва, Московский авиационный институт
( государственный технический университет)
Аннотация
Фрактальные вычисления представляют собой новую разновидность мягких
вычислений. В основе фрактальных вычислений лежит алгебраическая структура
фрактоид. Целенаправленное изменение размерности фрактоида, позволяет построить
пространство поиска закодированных решений, а фрактальные свойства сократить их
перебор.
Ключевые слова: мягкие вычисления, фрактальные вычисления, фрактоид,
фрактальная алгебра, фрактальная архитектура, TL-система.
Введение
Понятие "мягкие вычисления" было введено основоположником нечёткой логики
Л.Заде на семинаре в 1994 году, как консорциум вычислительных методологий, которые
коллективно обеспечивают основы для понимания, конструирования и развития
интеллектуальных систем.
В настоящее время к "мягким вычислениям"
относятся: нечеткая логика,
нейровычисления, генетические вычисления, вероятностные вычисления, рассуждения на
основе свидетельств, сети доверия, разделы теории машинного обучения, теория
фракталов.
Основополагающее отличие мягких вычислений от традиционных жестких
вычислений – приспособленность к работе с неточными, неопределенными или частично
истинными данными/знаниями, выражающаяся в «терпимости к неточности,
неопределенности и частичной истинности для достижения удобства манипулирования,
робастности, низкой стоимости решения и лучшего согласия с реальностью».
Мягкие вычисления не гарантируют, что найденное решение будет оптимальным
или будет достигнут глобальный экстремум за приемлемое время. Тем ни менее они
применимы для поиска "достаточно хорошего" решения задачи за "достаточно короткое
время".
В рамках мягких вычислений каждая из методологий имеет различия в
использовании. Нечеткая логика работает с неточностью, зернистой структурой
(гранулированной) информацией, приближенными рассуждениями и вычислениями со
словами. Нейровычисления отражают способность к обучению, адаптации и
идентификации. Генетические вычисления систематизируют направленный случайный
поиск для достижения
оптимального значения характеристик. Вероятностные
вычисления дают базу для управления неопределенностью и проведения рассуждений,
исходящих из свидетельств. Теория фракталов опирается на геометрию и теорию
размерности и применяется при сжатии изображений.
В данной работе вводится новая разновидность мягких вычислений - фрактальные
вычисления на основе фрактоидов. Фрактоид – это алгебраическая структура,
включающая фрактальную алгебру над самоподобным множеством. Свойство – “подобия”
используется в качестве определяющего во многих работах по фракталам. Классическое
определение фрактала дано Мандельбротом [1] на основе самоподобия и фрактальной
дробной размерности в конце 1970'x : часть фрактальной структуры подобна целому, не
имеет значения как сделано разбиение малой части, часть содержит не меньше деталей,
чем целое.
1
Для описания фрактальных процессов применяются итерированные отображения.
Начиная с некоторой функции у = f(ес) рассматривается поведение последовательности
f(ес), f(f(ес)), f(f(f(ес))), … Результатом является самоподобное или фрактальное множество.
Такое множество может включать в себя повторяющиеся структуры бесконечное число
раз.
Процесс итерирования отображений может описываться различными методами:
методом отбрасывания некоторой области множества (например, при построении пыли
Кантора), системой итерированных функций [1], клеточным автоматом, автоматом
состояний, редукционной копирующей машиной, матричным уравнением на основе
кронекеровского произведения и TL-системой [2].
С целью обобщения перечисленных процессов итерирования отображений и
единообразного представления различных классов фрактальных систем была разработана
алгебраическая структура фрактоид, позволяющая исследовать общие закономерности
построения и поведения систем [3-4].
Рассматриваемые в работе фрактальные алгоритмы направленного поиска
описываются фрактоидами, использующими TL-систему итерированных отображений.
Математические определения понятий приводятся в первом разделе работы.
1. Фрактоид n-мерного гиперкуба
Определение самоподобного множества, посредством система преобразования
подобия S, позволяет ввести операторы фрактальной алгебры, используемые для
построения математических объектов.
Определение 1. Компактное, совершенное и вполне разрывное множество С
называется самоподобным, если существует система преобразования подобия Sn c
коэффициентом подобия rn такая, что
С = S1(С), S2(С),…, SN(С), причем
dimM(C) = d, где
d - единственное решение уравнения, называемое размерностью подобия,
r1d + r2d +…+ rNd = 1, где rn – коэффициенты подобия преобразований Sn(С),
лежащие в интервале [0,1].
dimM(C) - размерность Минковского множества C.
Если коэффициенты подобия равны между собой rn = r, n=1,2,…,N, то размерность
Минковского d множества C определяется из уравнения: Nrd = 1.
Определение 2. Алгебраическая структура Ŧ n(С, S, еc) называется фрактоидом, где
С – самоподобное множество, см. определение 1;
S – система преобразования подобия, задаваемая в виде итерированных
отображений множества C такая, что
Ŧ : С→ С – множество всех отображений С в себя;
n=1,2,…,N – шаг итерации;
еc – единичный элемент еc  C, с заданным отображением тождества id(еc)= еc.
индекс указывает принадлежность элемента множеству С.
Название фрактоид происходит от композиции двух слов: фракт – дробный, id –
тождественность.
Введем операторы фрактальной алгебры для S: разбиения ÷, сдвига <<n,
композиции + и прототипирования ≡.
Определение 3. Оператор ÷ называется разбиением. Результат применения оператора
с аргументом n к множеству С – самоподобное множество С ÷ n = S1(С), S2(С),…, Sn(С) с
равными между собой коэффициентами подобия rn = r, n=1,2,…,N см. определение 1.
Оператор ÷ разбиения некоммутативен и неассоциативен.
Оператор ÷-1 называется уникально обратимым разбиением, если результат
применения оператора ÷-1 с аргументом n к самоподобному множеству С = S1(С), S2(С),…,
Sn(С) ÷-1 n, полученному при выполнении оператора разбиения С ÷ n, есть множество С.
2
Определение 4. Оператор <<n называется сдвигом (левым сдвигом). Результат
применения оператора с аргументом n, n = 1,2,…,N к самоподобному множеству С = S1(С),
S2(С),…, Sn(С),…, SN(С) с равными между собой коэффициентами подобия rn = rn-1, для
Sn(С) и Sn-1(С) (см. определение 1), при n - 1 > 0, – самоподобное множество С <<n =
S1(С), S2(С),…, Sn-1(С), …, SN(С).
При n = 1, оператор <<1S(С) называется сдвигом с пополнением, где S(С) - пополнение.
Пусть С = S1(С), S2(С),…, Sn(С), тогда С <<1S(С) = S1(С), S2(С),…, Sn+1(С), пополнение
включается в самоподобное множество, количество элементов в множестве n+1.
Оператор <<n-1 называется уникально обратимым сдвигом, если результат применения
оператора <<n-1 с аргументом n к самоподобному множеству С = S1(С), S2(С),…, Sn-1(С),…,
SN(С), есть самоподобное множество С<<n-1 = S1(С), S2(С),…, Sn-1(С), Sn(С), …, SN(С) с
равными между собой коэффициентами подобия rn = rn-1, для Sn(С) и Sn-1(С).
При n = 1, результат применения оператора сдвига к самоподобному множеству С =
S1(С), S2(С),…, Sn(С) – самоподобное множество С <<1 = S1(С), S2(С),…, Sn-1(С).
Определение 5. Бинарный оператор +S(С) называется композицией. Результат
применения оператора к упорядоченной паре самоподобных множеств Sk(С) +S(С) Sm(С) =
Sk(С), Sm(С), S(С) – самоподобное множество, где S(С) - множество связей для элементов
из Sk(С) и Sm(С), определяемых правилами композиции. В частном случае S(С), может
быть пустым множеством S(С) = Ø.
Оператор +-1 называется уникально обратимой композицией. Результат применения
оператора +-1 к самоподобному множеству Sk(С), Sm(С), S(С) +-1 S(С) Sm(С) = Sk(С) и Sk(С),
Sm(С), S(С) +-1 S(С) Sk(С) = Sm(С).
Определение 6. Унарный оператор ≡ называется прототипированием. Результат
применения оператора к самоподобному множеству С = S1(С), S2(С),…, Sn(С), ≡ С –
самоподобное множество S1(С’), S2(С’),…, Sn(С’) с эквивалентными коэффициентами
подобия rn = r’n , см. определение 1.
Оператор ≡-1 называется уникально обратимым прототипированием, если результат
применения оператора ≡-1 к самоподобному множеству ≡-1 С’ = ø - пустое множество.
Определение 7. Система преобразования подобия S = {Ξ | ρ1, ..., ρN} называется
системой итерированных операторов (СИО) ρ на структурном пространстве Ξ, где ρ
множество операторов разбиения ÷, сдвига <<n,
композиции + и прототипирования ≡
[3].
Определение 8. Система итерированных операторов S = {Ξ | ρ1, ..., ρk} называется
уникально обратимой, если ρ1, ..., ρk – множество уникально обратимых операторов сдига
<<n, разбиения ÷, композиции + и прототипирования ≡.
Определение 9. Уникально обратимая система итерированных операторов S = {Ξ |
ρ1, ..., ρk} называется фрактальной алгеброй.
Определим TL-систему итерированных отображений и приведем пример построения
n-мерных гиперкубов.
Определение 10. TL- системой называется кортеж из шести элементов,
TL = (V, U, P, А, T , α), где
V - множество нетерминальных символов;
U - множество терминальных символов, причем V  U  Θ - алфавит, конечное
множество символов,  - множество всех слов над Θ,   - множество не пустых слов над
Θ;
А - конечное множество аксиом, где axiom – слово называемое аксиомой, axiom 
 , допускается, чтобы одна из аксиом могла быть пустой;
T - конечное множество шаблонов, такое что T    , причем количество символов T
 { v1, v2, … , vn } = U не изменяется от итеративного процесса, шаблон конструируется
из аксиом T  А ;
P - конечное множество продукций или правил;
α - алгоритм на основе фрактальной алгебры S .
3
Начиная с шаблонов T, продукции применяются параллельно ко всем символам,
результатом является слово. Алгоритм α по слову строит объект.
Опишем TL - систему с шаблоном правильного гиперкуба Qn = Qn-1 + Pn-1.
TL = (V, U, P, А, T ) = ( {G , С}, {+,“”}, {G →GC, С → GC}, {axiom0=“”, axiom1 = G,
axiom2= С }, {template = axiom1 + axiom2}, α )
Оператор композиции +S(С) гиперкуба. Оператор композиции + прототипа гиперкуба
Pn-1 и Qn-1, соединяет коннекторами корреспонденствующие компоненты, результатом
является гиперкуб Qn размерности n.
Разметка M: M(Qn ) = (M( Qn-1) <<10 ) + (M(Pn-1) <<11 ) - есть код Грея.
Алгоритм α. Построение n-мерных правильных гиперкубов Qn: строки, графа,
объектной структуры и разметки гиперкубов кодом Грея.
Для графического построения n-мерного гиперкуба используется система
графического вывода, которая прорисовывает вершины и грани гиперкуба.
Вход:
axiom0 = “” -- ставим в соответствие Q0
axiom1 = G
axiom2 = С
template = (axiom1 + axiom2) -- слово порождаемое правилами грамматики
P = {G →GC, С → GC } -- правила грамматики
axiom3 = сm0 -- вершина гиперкуба
Выход:
Qn -- размеченная объектная структура n-мерного гиперкуба и его графическое
представление
Инициализация:
level=4 -- размерность гиперкуба, который надо построить.
word = template
n=0
Qn = axiom3 -- гиперкуб n = 0, одна вершина
Шаги:
for i=1 to level -- поcтроить гиперкуб заданной размерности level
n=i
P n-1 ≡ Qn-1 -- прототипировать гиперкуб Q n-1 в образец P n-1
M(Qn)
=
(M(Qn-1)<<10)
+(M(Pn-1)<<11)
-разметить
и
соединить
корреспонденствующие компоненты
rule (word) -- сгенерировать следующее слово.
end for
4
110
100
0
0
00
10
000
010
101
1
01
11
111
001
011
0-D гиперкуб
1-D гиперкуб
0100
2-D гиперкуб
3-D гиперкуб
0110
1110
1100
0000
0010
0101
1000
1010
0111
1111
1101
0001
0011
1001
1011
4-D гиперкуб
Рис. 1 .
П о с т р о е н и е 4 - м е р н о г о п р а в и л ь н о г о г и п ер к у б а .
Графы, соответствующие шагам построения объектной структуры 4-мерного
правильного гиперкуба, помеченного кодом грея, проиллюстрированы на рис. 1.
Предложенный алгоритм значительно упрощает построение
кода грея и
синхронизирован с построением объектной модели гиперкуба. Код грея широко
применяется для маршрутизации сообщений по архитектуре сети приложения, а также в
генетических вычислениях для кодирования образцов [5-6].
2. Фрактальный алгоритм направленного поиска
Сформулируем задачу оптимизации как поиск вектора x = [x1, x2, ..., xi] из
допустимой области X, который обращает в максимум заданнyю целевую функцию f(x1,
x2, …, xi), определенную для всех значений xi принадлежащих X. При поиске минимума
функции берется обратная функция f(x1, x2, …, xi)-1.
Функция f(x1, x2, …, xi) должна принимать неотрицательные значения на
ограниченной области определения для вычисления вектора x = [x1, x2, ..., xi], при этом
совершенно не требуются ее непрерывность и дифференцируемость.
По теореме Вейерштрасса, непрерывная функция, определенная на
непустом
замкнутом ограниченном множестве, достигает своего
максимума (минимума) по
крайней мере в одной из точек этого множества.
В общем случае глобальный максимум в точке x' области определения X
характеризуется: f (x') => f (x) для всех x принадлежащих X, что подразумевает
возможность существования нескольких максимумов, называемых слабыми глобальными
максимумами.
Максимум в точке x = x' называют локальным (относительным), если найдется
такая окрестность O(x') точки x', что для всех x принадлежащих O(x') имеет место f (x')
=> f (x).
При f (x') > f (x) для всех x принадлежащих X и x' ≠ x имеем сильный глобальный
максимум.
5
Пусть каждый параметр функции f(x1, x2, …,xi), кодируется k-битовым кодом грея:
параметр | x1 | x2 | x3 | … | x7 | … | xi |
значение
k-бит k-бит k-бит … k-бит … k-бит
Утверждение 1. Битовое представление конкатенации строк упорядоченного
множества параметров функции f(x1, x2, …,xi), закодированных k-битовым кодом грея,
есть код грея размерности n = k*i.
Например, при k=2, i=4, n = 8.
параметр
| x1 | x2 | x3 | x4 |
значение
00 01 10 11
Битовое представление конкатенации строк 00011011
Теорема 1. Вектор x = [x1, x2, ..., xi], закодированный в битовом представлении
конкатенации строк, обращаюший в максимум заданнyю целевую функцию f(x1, x2, …, xi),
достижим из размеченного фрактоида Ŧ n , где n = k*i, i – число параметров функции f(x1,
x2, …, xi), k – размерность кода грея, кодирующего параметры. Причем исходная разметка
фрактоида Ŧn может быть произвольной.
n
Будем принимать за слабый глобальный максимум функции код
n
111... , а за слабый
глобальный минимум 000... , где n – размерность фрактоида.
Доказательство. Пусть требуется найти максимум целевой функции f(x1, x2, x3).
заданной тремя параметрами, каждый из которых закодирован 1-битовым кодом грея,
тогда размерность исходного фрактоид гиперкуба Ŧ 3, n = 1*3 = 3. Разметка фрактоида
обозначена на рис. 2. заштрихованнами фершинами гиперкуба. Определены три вершины
{101, 010, 110}.
Построим фрактоид Ŧ 3+1 см. рис. 2. При построении фрактоида размерности n + 1 из
фрактоида размерности n, размерность кода грея увеличивается на единицу, согласно
алгоритму α.
При поиске максимума функции разметка передвигается в корреспонденствующие
вершины прототипируемого объекта, для
фрактоида Ŧ 4 имеем {1101, 1010, 1110}.
Выполним операцию разбиения кода ÷ n, n=3 получим {110, 101, 111}. Одна из вершин
достигла максимума и можно остановить вычисления.
Продолжим вычисления и построим фрактоид Ŧ 5 {11101,11010, 11110}, для Ŧ 6
{111101,111010, 111110}. Достигнут максимум для всех вершин.
Распространим полученные результаты на целевую функцию f(x1, x2, x2, …, xi ),
тогда вектор x = [x1, x2, ..., xi], закодированный в битовом представлении конкатенации
строк достижим из размеченного фрактоида Ŧ n, посредством увеличения его размерности
и выделения оператором разбиения ÷ n значимых n-бит.
6
110
100
0
0
00
10
000
010
101
1
01
11
111
001
011
0-D гиперкуб
1-D гиперкуб
0100
2-D гиперкуб
3-D гиперкуб
0110
1110
1100
0000
0010
0101
1000
1010
0111
1111
1101
0001
0011
1001
1011
4-D гиперкуб
Рис. 2 . Р а з м е т к а
фр ак т о и д а и до с т и ж им ос т ь к од а
Фрактальный поиск с точки зрения преобразования информации — это
последовательное преобразование одного конечного нечеткого самоподобного множества
промежуточных решений в другое.
Определение 11. Фрактальный алгоритм – это параллельный математический
алгоритм, преобразующий, по средством фрактальной алгебры, самоподобное множество
индивидуальных помеченных математических объектов, представленных в виде кода,
устанавливаемой длины, в новое самоподобное множество с помеченными
корреспонденствующими объектами. Фрактальный алгоритм иллюстрирует рис. 3, где
функция m – перемещение маркировки, s – выбор решения.
Целевая функция для фрактального алгоритма может быть задана в терминах кода
грея как максимальный (миниальный) код заданной размерности исходного фрактоида n.
При поиске минимума функции движение по размерности
фрактоида
осуществляется в обратном напрмвлении n-1, и рассатривается наименьший код с n-1
размерностью. Целесообразно для задач поиска максимума переформулировать их в
терминах поиска минимума, для уменьшения размерности решаемой задачи.
7
Выбор
Ŧ n+1
Ŧn
n = n +1
Самоподобное
м н о ж е с т во
Перемещение
р аз м ет к и
Фрактальный механизм
Си н т е з
Синтезировать и разметить фрактоид
Ŧn (самоподобное множество)
Д и ф ф ер ен ц и ро в ан ны й
с и н т ез
про с тр ан с т в а
w h i le ( у с л о в и я п р е к р а щ е н и я f alse)
р еш ен и й ,
д ос т и г аем ы й
1. Синтезировать ф р а к т о и д n+ 1
2. Переместить разметку
3. Выбрать р аз м е т к у ф р а к т о и д а
п ер ем ещ ен и ем
ф р ак т о и д а
в
р аз м ет к и
с оо т в ет с т в и и
с ц елев о й ф у н к ц и ей
end w h i le
Ŧ n+1 = s ( m (Ŧ n ))
Рис. 3 .
Ф р ак т аль н ы й алг о р и т м
Универсальность фрактального алгоритма заключается в том, что от конкретной
задачи зависит только кодирование исходных параметров функции f(x1, x2, …, xi).
Остальные шаги для всех задач производятся одинаково.
3. Примеры задач поиска оптимальных решений
Фрактальный алгоритм является основой фрактальных вычислений. Рассмотрим
известные задачи, решаемые фрактальными вычислениями: задача поиска оптимальной
бизнес стратегии [6], поиск решения диофантового уравнения.
3.1. Задача поиска оптимальной бизнес стратегии
Дано. В задаче поиска оптимальной бизнес стратегии заданы три переменных для
четырех ресторанов.
1. Цена: установить цену гамбургера 10 рублей или 70 рублей?
2. Напиток: подавать вино или колу к гамбургерам?
3. Скорость обслуживания: медленное, неторопливое обслуживание официантами в
смокингах или быстрое официантами в униформах?
Требуется. Найти комбинацию из трех решений (т.е. деловую стратегию), которая
приносит максимальную прибыль.
Менеджер не знает, можно ли подойти ближе к глобальному максимуму в
соответствии с пошаговой процедурой изменения переменных - выбирая лучший
результат для одной переменной, затем изменяя вторую переменную и третью, выбирая
лучший результат. То есть могут ли переменные быть оптимизированы отдельно или они
находятся нелинейным способом. Возможно, переменные находятся в такой взаимосвязи,
когда глобальный максимум может быть достигнут только, при выделении
8
специфической комбинации двух переменных и затем изменяется третья. Существует
также проблема, что требования и вкусы посетителей могут меняться. Вкусы
непостоянные и правила игры могут внезапно изменяться.
Шаг 1. Представление проблемы. Каждая переменная может принимать одно из двух
возможных значений, кодируемых одним битом, со значением 0 или 1. Представим три
переменных кодом грея размерности n = 3*1=3.
Целевая функция представляет максимальную прибыль, которая складывается из
максимальной стоимости каждого параметра. Поэтому параметр с максимальной
стоимостью кодируем 1, а с минимальной 0. Таким образом, глобальный максимум
целевой функции – это параметры кодируемые 1. При получении глобального максимума
будем останавливать вычисления.
В таблице 3.1 показаны четыре из восьми возможных деловых стратегий, которые
используем для начальной разметки фрактоида.
Таблица 3.1 Представление проблемы.
Номер
Цена
Напиток
ресторана
гамбургера
1
Высокая 1
Кола 0
2
Высокая 1
Вино 1
3
Низкая
0
Кола 1
4
Высокая 1
Кола 1
Скорость
Быстро
Быстро
Медленно
Медленно
Код грея
1
1
0
0
100
001
101
010
Шаг 2. Синтезировать и разметить фрактоид Ŧ n, n = 3 рис.4.
Шаг 3. Устанавливаем условия прекращения выполнения алгоритма: хотя бы одна
из меток достигает глобального максимума. Выполняем вычисления.
Шаг 4. Декодируем полученные результаты. Вычисления останавливаются при
достижении глобального максимума в фрактоиде Ŧ 5. Таб. 3.2. показывает прибыль,
связанную с каждым рестораном. Средняя прибыль в результате вычислений возрастает с
3.00 до 6.5.
Уменьшим быстрый рост глобального экстремума, используя фрактоид гиперкуба
Фибоначчи, с той же разметкой таб. 3.3. и рис. 5.
9
110
100
0
0
00
10
000
010
101
1
01
11
111
001
011
0-D гиперкуб
1-D гиперкуб
0100
2-D гиперкуб
3-D гиперкуб
0110
1110
1100
0000
0010
1000
1010
0111
0101
1111
1101
0001
0011
1001
1011
4-D гиперкуб
Рис. 4. Задача п о и с к а о п т и м а л ь н о й
б из н ес с тр ат ег и и
Таб. 3.2. Значение целевой функции для гиперкуба
Фрактоид
Ŧ3
Ŧ4
Ŧ5
Номер
ресторана
Значение
целевой
функции
Значение
целевой
функии
1
2
3
4
Всего
Среднее
4
1
5
2
12
3.00
Значение
целевой
функии
6
4
6
5
21
5.25
Код
100
001
101
010
Код
110
100
110
101
7
6
7
6
26
6.5
111
110
111
110
Таб. 3.3. Значение целевой функции для гиперкуба Фибоначчи
Ŧ3
Ŧ5
Фрактоид
Ŧ4
Номер
ресторана
1
2
3
Значени
е
целевой
функци
и
4
1
5
Код
100
001
101
Значение
целевой
функии
2
4
2
Код
Ŧ6
Значение
целевой
функии
Код
Код
Код
Значение
целевой
функии
010
100
010
5
2
5
101
010
101
2
5
2
010
101
010
10
4
Всего
Среднее
2
12
3.00
010
5
13
3.25
101
2
14
3.50
010
5
14
3.50
101
100
0
0
00
10
000
010
101
1
0-D гиперкуб
1-D гиперкуб
01
001
2-D гиперкуб
3-D гиперкуб
0100
0000
0010
1000
1010
0101
0001
1001
4-D гиперкуб
Рис. 5. Построение 4- м е р н о г о
г и п ер к у б а Ф и б о н ач ч и
Вычисления останавливаются при достижении локального экстремума в фрактоиде Ŧ
. Результатом вычисления фрактоида Ŧ 6 , является тоже значение целевой функции, что и
для Ŧ 5. Аналогичные результаты получаются для фрактоида гамильтонового гиперкуба
Фибоначчи.
Результатом проведенных вычислений являются следующие значения целевой
функции: 3.25, 3.50, 5.25, 6.5, которые могут использоваться для бизнес стратегии.
Оптимальным является значение 6.5.
5
3.1. Задача поиска решения диофантового уравнения
Диофантовы уравнения (по имени древнегреческого математика Диофанта),
алгебраические уравнения или системы алгебраических уравнений с целыми
коэффициентами, имеющие число неизвестных, превосходящее число уравнений, и у
которых разыскиваются целые или рациональные решения [7]. Простейшее Диофантовы
уравнения ax + by = 1, где а и b — целые взаимно простые числа, имеет бесконечно много
решений.
Дано. Диофантово уравнение х + y = 3 с целыми коэффициентами a и b = 1.
Требуется. Найти целые решения уравнения, при 1 < = x, y < 3.
Шаг 1. Представление проблемы. Каждая переменная x, y может принимать
значения 1 < x, y < 3, поэтому каждую из переменных представим двух битовым кодом,
тогда код решения будет размерности n = 2*2 = 4.
Целевая функция представляет максимальное значение битового кода n=4, в коде
1111.
11
Шаг 2. Синтезировать и разметить фрактоид Ŧ n, n = 4, для поиска решения 1 < = x,
y < 3.
При построении фрактоида воспользуемся свойством симметрии фрактоида и кода
грея. Что бы избежать полного перебора пространства решений, будем размечать
вершины, не удовлетворяющие условию 1 < = x, y < 3.
Построим
двухмерный фрактоид гиперкуба Ŧ 2 , размеченные вершины
исключенные из рассмотрения на рис. 6 обозначаются знаком X. Тогда постранство
решений должно включать все возможные комбинации 01 и 10.
.
110
100
X
0
0
00
X
1
0-D гиперкуб
01
1-D гиперкуб
0100
X
--
010
XХ 101
11
X
111
X
001
X
2-D гиперкуб
1110
X
0010
-X
1000
X
0111
X
-1010
1111
-- 1101
0011
011
3-D гиперкуб
1100
0101
0001
000
0110
X
0000
10
1001
X
X
1011
4-D гиперкуб
Рис. 6. Задача п о и с к а р е ш е н и я
д ио ф ан т о в ог о у р ав н ен и я
Шаг 3. Устанавливаем условия прекращения выполнения алгоритма. Фрактоид Ŧ 4
содержит решения диофантового уравнения, если они существуют, т.е. все возможные
комбинации 4-битового кода.
Строим Ŧ3 _ промежуточный гиперкуб, исключая корреспонденствующие вершины, и
затем фрактоид Ŧ 4.
Исключаем из фрактоида Ŧ 4 вершины, не содержащие комбинации из 01 и 10.
Шаг 4. Декодируем полученные результаты. Фрактоид Ŧ 4 содержит пространство
решений уравнения {0101, 0110, 1001, 1010}
Как видно из вычислений, после разметки Ŧ 2 не требуется определять какие числа
содержит код.
Решение уравнения получается при декодировании и подстановки чисел в целевую
функцию.
4. Заключение
Проведенные исследования показали существенную зависимость результатов от
выбора начальной разметки фрактоида. В первой задаче разметка выбиралась таким
12
образом, чтобы было ее соответствие для гиперкуба,
гиперкуба Фибоначчи и
гамильтонова гиперкуба Фибоначчи.
Применение различных фрактоидов демонстрирует возможность применение
различных стратегий для фрактальных вычислений и их возможную консолидацию для
“сглаживания” скорости приближения к глобальному экстремуму.
Во второй задаче, условия уравнения накладывают ограничения на построения
пространства решений.
Таким образом, алгебраическая структура фрактоид позволяет строить
пространство решений для различных задач, что является основополагающим механизмом
для фрактального алгоритма и вычислений.
СПИСОК ИСТОЧНИКОВ
1. Кроновер Р.М. Фракталы и Хаос в динамических системах. Основы теории. – М.: Издво Постмаркет, 2000.
2..C.Семенов. Построение класса фрактальных систем по шаблону на примере дерева
Фибоначчи // Изв. РАН. Информационные технологии и Вычислительные системы. 2005.
№2. с. 10-17.
3. А.C.Семенов. Фрактальная алгебра как основа фрактальной парадигмы
программирования // Изв. РАН. Информационные технологии и Вычислительные системы.
2006. № 2. с. 64-70.
4. А.C.Семенов. Фрактальное построение n-мерных гиперкубовых архитектур в
структурном пространстве // Изв. РАН. Информационные технологии и Вычислительные
системы. 2007. № 2. с. 42-50.
5. Holland J. H. Adaptation in natural and artificial systems. An introductory analysis with
application to biology, control, and artificial intelligence.— London: Bradford book edition,
1994 —211 p.
6. Koza, John R. Genetic programming: on the programming of computers by means of natural
selection, A Bradford book, The MIT Press, London, 1992.
7. Диофантовы уравнения. Скопировано с сайта http://bse.sci-lib.com/article028554.html
13
Download