(Untitled)

Dec 19, 2008 07:10

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

diss

Leave a comment

anonymous January 13 2009, 18:06:18 UTC
а каков метод исследования генетических алгоритмов предполагается? численный эксперимент или аналитика?

Reply

basp January 13 2009, 18:22:11 UTC
Эксперименты. Алгебра ГА - отдельная (сырая) тема, и достойна, наверное, отдельного исследования.

Reply

anonymous January 13 2009, 21:02:45 UTC
В таком случае R благодатное поле для исследования эффективности ГА :)
А есть ли у Вас эволюция какого либо генома?

набор таблиц, по одной на поколение, в каждой
в строках индивидуумы, в колонках соответствующие оптимизируемые параметры ?

любопытно статистику этого дела посмотреть.

Reply

anonymous January 13 2009, 21:04:03 UTC
просто всегда только кривые обучения приводят :(

Reply

basp January 13 2009, 21:27:20 UTC
А вы хотите строгового математического доказательства эффективности? Честно говоря, фиг его знает - возможно ли это, в принципе. Я как бы скромно претендую на оригинальность в применении статистических методов оценки развития ГА, но тем не менее все идеи взяты из книг Докинза и прочих(т.е. из теории эволюци, микробиологии).

Reply

anonymous January 13 2009, 22:06:03 UTC
с практической точки зрения я видел "зациклившийся" ГА на простом примере идущем с галиб

матрица как цель ГА

1010
0101
1010
0101

"разносит" процесс решения для конкретного вида ГА при увеличении на один столбец/строку

Reply

basp January 13 2009, 22:28:18 UTC
Мне не совсем корректно сравнивать, т.к. используется вещественное кодирование. Но вот, что получилось при размере популяции=100, начальном разбросе на [0,1], длине генома=32 и фитнесс функции(где xs-геном):
function(xs) sum(abs(xs - c(1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1)))
Стандартный ГА:

> test.ga.std(testsuite.galib.ex, times=3)
шагов(474) : фитнесс(0.9427305) : 1.017086 0.02099387 1.006232 0.01955127 0.03739534 0.9973648 0.03619839 0.9875194 0.9757517 0.03414160 1.019306 0.04734282 0.04150439 0.9867625 0.02469037 0.9855019 1.025899 0.03229816 0.9940718 0.0461459 0.03033683 1.105125 0.02550338 1.014180 0.9695433 0.05752359 0.958702 0.04561827 0.03521614 0.9629891 0.03646475 1.002183
...
$mean.iter
[1] 472.3333

$mean.fitness
[1] 0.9596104

$non.conv
[1] 0
Статистический ГА(прогноз раз в 50 поколений):

> test.ga.stat(testsuite.galib.ex, times=3 ( ... )

Reply

(The comment has been removed)

anonymous January 14 2009, 09:35:43 UTC
что то разнесло при постинге листинга совсем :(

вот прогон не изменённого теста
The GA found:
01010101010
10101010101
01010101010
10101010101
01010101010

а вот с увеличенной матрицей

The GA found:
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111

Reply

basp January 14 2009, 09:45:43 UTC
Здесь же используется бинароное кодирование, а я такой подход в принципе не делал. Где-то вещественное представление дает лучшие результаты, где-то нет.
А чтобы galib давал в таком тесте хорошие результы, надо использовать стратегию элитизма и скрещивание по наибольшему сходству

p.s. кривые посты я удалил

Reply

anonymous January 14 2009, 09:53:02 UTC
вообще глядя на это безобразие приходит мысль что неплохо бы запустить тестирующий процесс ГА подбирающий для тестируемого процесса ГА максимально "неудобные" данные :)

Главное при этом что бы у них "не совпало" :)

Вообще не понятно почему мало внимания (в том что смотрел) уделено (размеру|выбору размера) популяции решающей задачу... Она ведь как то должна быть связана с размерностью пространства в котором ГА ищет решения и сеткой на которой (в следствии особенностей представления чисел в геноме) ищется решение?

Reply

basp January 14 2009, 10:00:29 UTC
Вобще говоря, выбору размеру популяции уделено немало внимания(Cvetkovic,De Jong,); наш Цой опять же

Reply

anonymous January 14 2009, 10:32:30 UTC
и какие основные правила? для факторного анализа того же все просто и очевидно --- излом на кривой нагрузок выделяемых ортогональных факторах (ну бутстреп наконец)... а здесь ничего такого я что то не нашёл. В статьях опять же просто кривые целевой функции от числа поколений... как туда бутстреп присобачить что то в голову не приходит, поэтому и анализ поведения гнома в процессе эволюции и приходит в голову наблюдать.

Если нетрудно сформулировать что корифеи придумали для практиков?

(я конечно почитаю названную литературу)

А заставить ГА найти дырку в работе второго ГА мне кажется весьма интересно, или такое уже делали и это велосипед?

Reply

basp January 16 2009, 06:25:26 UTC
Всё уже придумали в 1988-1993 годы, т.е. в первые 5 лет популярности ГА. Второе из того, что назвали, - 2хуровненый ГА.
Для подбора размера популяции есть, например, такая формула N_min = 2*(2 + [log_2(ДлинаБинарногоГенома)]).

Reply

basp January 13 2009, 21:20:41 UTC
Есть стандартный ГА - такой, как описан у Холланда, но с дополнением вещественного представления гена. Соответственно, популяция представляется матрицей вещественных чисел. Набора таблиц нет - слишком затратно по памяти, в простом случае хранится только последнее поколение. В оригинальных модификациях ГА, действительно, хранится "история" поколений, по которой и производится дальнейшая оценка.
Если интересно про то, что получилось - я на днях здесь выложу автореферат диссертации.

p.s. А можно узнать, кому я отвечаю? Вы занимаетесь ГА в теории, применяете на практике или ... ?

Reply

anonymous January 13 2009, 21:40:07 UTC
Применяю в своей научной и прикладной деятельности R, в основном многомерный анализ данных.
ГА изпользую как метод нахождения субоптимального решения. Мне просто кажется что есть способ исследования процесса решения ГА лучше чем поведение целевой функции от поколения.

Вроде даже что то видел мельком в литературе, вот и хотелось посчитать пример готовый...

Впрочем действительно, чего я пристал? :) сдую пыль с галиб и нагенерю сам чего нибудь, вспомнил что вроде последний раз даже нашел функцию выгрузки генома :)

Reply


Leave a comment

Up