GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (1)   Поиск:  
 Автор Тема: Идея: перебор субалгоритмов и метагенетический алгоритм
ДенисРоманюк
Сообщений: 331
Идея: перебор субалгоритмов и метагенетический алгоритм
Добавлено: 26 фев 12 1:53
Денис Романюк.
Идея: перебор субалгоритмов и метагенетический алгоритм.

Предположим, перед программистом стоит задача А. Он мысленно разбивает А на подзадачи {B1, B2, ..., Bn}. Каждая или некоторые из подзадач Bx может быть решена несколькими способами. В случае, если А - задача сложная и нетривиальная, программист может попробовать следующий подход. Реализовать каждую из подзадач Вх всеми возможными способами - в виде независимых и взаимозаменяемых классов ООП. После этого пишется цикл, в котором программист пытается решить задачу А, причем вместо В1 в цикле подставляются все возможные варианты решения В1, вместо В2 в цикле подставляются все возможные варианты решения В2, ..., вместо Вn в цикле подставляются все возможные варианты решения Вn. В этом же цикле вычисляется наилучшее решение задачи А.

Разумеется, необязательно использовать тривиальный перебор всех возможных вариантов. Можно применить и что-нибудь более изощренное - например, генетический алгоритм (ГА).

Что касается задач, решаемых с помощью ГА, то перед программистм всегда стоит проблема выбора верных параметров ГА и правильного написания важных "кусочков" ГА. Например, необходимо точно подобрать значения таких констант как количество особей в начальной популяции, вероятность мутации и т.д. Также нужно правильно запрограммировать операторы кроссовера, мутации, методы селекции и фитнесс-функцию. Очевидно, что и значения констант, и программная реализация различных "кусочков" ГА могут быть самыми различными. Поэтому, чтобы не брать значения констант и реализацию разных частей ГА "с потолка", предлагаю следующий подход.

1. Определяются минимальное и максимальное значение каждой константы-параметра ГА.
2. В виде независимых взаимозаменяемых классов ООП программируются все возможные варианты различных "кусочков" ГА ( операторов кроссовера, мутации, методов селекции, фитнесс-функции и т.д. )
3. В некотором внешнем алгоритме выполняется наш ГА с различными значениями констант-параметров и различными вариантами реализации операторов кроссовера, мутации, методов селекции, фитнесс-функции и т.д. Простейшим вариантом этого внешнего алгоритма является простой цикл с перебором вариантов и поиском оптимального решения. Если этим внешним алгоритмом является некий ГА, то можно говорить о метагенетическом алгоритме. Причем может быть ГА не только второго уровня, но и третьего, четвертого и т.д. Тема для размышления: "Может ли быть такое, что ГА1 настраивает ГА2, а ГА2 настраивает ГА1?"


источник: http://art4art.narod.ru/meta.html
[Ответ][Цитата]
daner
Сообщений: 4605
На: Идея: перебор субалгоритмов и метагенетический алгоритм
Добавлено: 26 фев 12 12:03
ну если закрыть глаза на то, что это полнейшая тривиальщина
просто интересно, как вы будете определять "оптимальное решение"
[Ответ][Цитата]
ДенисРоманюк
Сообщений: 331
На: Идея: перебор субалгоритмов и метагенетический алгоритм
Добавлено: 26 фев 12 12:10
Цитата:
Автор: daner

ну если закрыть глаза на то, что это полнейшая тривиальщина
просто интересно, как вы будете определять "оптимальное решение"


вполне может быть что тривиальщина )

но я это сам придумал )

оптимальное решение...

напр, задача о ранце (рюкзаке)...

оптим. реш. - решение с максимально высокой стоимостью в пределах заданного веса
[Ответ][Цитата]
daner
Сообщений: 4605
На: Идея: перебор субалгоритмов и метагенетический алгоритм
Добавлено: 26 фев 12 12:18
Цитата:
Автор: ДенисРоманюк



вполне может быть что тривиальщина )

но я это сам придумал )

оптимальное решение...

напр, задача о ранце (рюкзаке)...

оптим. реш. - решение с максимально высокой стоимостью в пределах заданного веса



тривиальное -- не значит "гениально простое". В данном случае, это сорее синоним "наивному".

поясняю свой вопрос.
для определения "оптимальности решения" вам потребудется ввести некую функцию оценивающую сдеаланное вами (ну или ген.алг-ом) решение. Эта функция и есть фитнесс функция. Т.е. вы просто одну функцию заминили на другую И ВСЕ.
[Ответ][Цитата]
ДенисРоманюк
Сообщений: 331
На: Идея: перебор субалгоритмов и метагенетический алгоритм
Добавлено: 26 фев 12 12:43
Цитата:
Автор: daner




тривиальное -- не значит "гениально простое". В данном случае, это сорее синоним "наивному".

поясняю свой вопрос.
для определения "оптимальности решения" вам потребудется ввести некую функцию оценивающую сдеаланное вами (ну или ген.алг-ом) решение. Эта функция и есть фитнесс функция. Т.е. вы просто одну функцию заминили на другую И ВСЕ.


объясните что на что я заменил.

чё-то не понял )
[Ответ][Цитата]
daner
Сообщений: 4605
На: Идея: перебор субалгоритмов и метагенетический алгоритм
Добавлено: 26 фев 12 13:06
Цитата:
Автор: ДенисРоманюк
объясните что на что я заменил.
чё-то не понял )


В ГА есть фитнес функция. она определяет на сколько каждое из решений (геномов в текущей популяции) подходит для решаемой задачи. Обычно такие функции параметризованны. эти параметры собственно и представляют наиболее проблематичную часть ГА. все остальное достаточно тривиально и существует куча методов, для адаптивной настройки ГА алгоритма (размер популяции, кол-во мутаций, кол-во разрезов при кроссовере и т.д.).
Вы собираетесь методом перебора (или каким-либо другим методом) подбирать эти параметры. Что бы понять, правильно вы их подобрали или нет -- вам нужно будет писать другую фитнес функцию для определения на сколько та или иная подстановка параметров приблизила вас к правильному решению. Эта новая ф.функция так же будет иметь список параметров.

Вот если вы смогли-бы теоретически доказать, что параметров в новой фитнес функции ВСЕГДА будет меньше чем в оригинальной ф.функции (или какие-либо еще плюсы) -- тогда то очем вы говорите вообще имеет смысл. иначе -- фигня.
[Ответ][Цитата]
ДенисРоманюк
Сообщений: 331
На: Идея: перебор субалгоритмов и метагенетический алгоритм
Добавлено: 26 фев 12 14:14
Цитата:
Автор: daner



В ГА есть фитнес функция. она определяет на сколько каждое из решений (геномов в текущей популяции) подходит для решаемой задачи. Обычно такие функции параметризованны. эти параметры собственно и представляют наиболее проблематичную часть ГА. все остальное достаточно тривиально и существует куча методов, для адаптивной настройки ГА алгоритма (размер популяции, кол-во мутаций, кол-во разрезов при кроссовере и т.д.).
Вы собираетесь методом перебора (или каким-либо другим методом) подбирать эти параметры. Что бы понять, правильно вы их подобрали или нет -- вам нужно будет писать другую фитнес функцию для определения на сколько та или иная подстановка параметров приблизила вас к правильному решению. Эта новая ф.функция так же будет иметь список параметров.

Вот если вы смогли-бы теоретически доказать, что параметров в новой фитнес функции ВСЕГДА будет меньше чем в оригинальной ф.функции (или какие-либо еще плюсы) -- тогда то очем вы говорите вообще имеет смысл. иначе -- фигня.


теоретически доказать не могу.
ибо в высокой науке я - новичок.
я ваще всё это написал по вдохновению.
нравится - обсуждаем или даже пробуем использовать.
не нравится - придумаю что-то другое.
но, судя по вашим вопросам, мне показалось, что вы не поняли, что я имел в виду.
расскажите в двух словах, как вы поняли ОП.
тогда будет о чем поговорить.
[Ответ][Цитата]
ДенисРоманюк
Сообщений: 331
На: Идея: перебор субалгоритмов и метагенетический алгоритм
Добавлено: 27 фев 12 23:51
БУДУТ ЕЩЕ СООБРАЖЕНИЯ ПО ПОВОДУ ОП?
[Ответ][Цитата]
 Стр.1 (1)