|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.04.2012, 21:15 | #1 |
Регистрация: 10.01.2011
Сообщений: 8
|
Диофантово уравнение
Помогите пожалуйста....это просто ужас какой то....
Разработать программу для решения Диофантова уравнения вида: a+2b+3c+4d=30, где a,b,c,d - некоторые положительные целые числа. Нахождение коэффициентов a,b,c,d осуществить с помощью генетического алгоритма. |
27.04.2012, 23:29 | #2 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
А почему ужас-то?
Сама ченть сделала уже? показывай, поможем ))
Предпочитаю на "ты".
|
28.04.2012, 00:09 | #3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Код:
Да, никаких гарантий 100% работы не даю
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 28.04.2012 в 00:16. |
30.04.2012, 20:03 | #4 |
Регистрация: 10.01.2011
Сообщений: 8
|
Ой спасибочки)))) вот если бы еще с пояснением, то моей благодарности вообще бы не было предела...)))
|
30.04.2012, 20:40 | #5 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Открываем статью на википедии про генетические алгоритмы - http://ru.wikipedia.org/wiki/Генетический_алгоритм.
Смотрим, какие шаги нужно осуществить. Цитата:
Процедура scresh скрещивает случайное количество случайных особей (строк массива). Процедура mutac изменяет свойства случайного количества случайных особей. Процедура selec сортирует всех особей-строк по возрастанию расстояния до требуемого значения. На первой строке массива будет самая приспособленная особь.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
01.05.2012, 19:43 | #6 |
Регистрация: 10.01.2011
Сообщений: 8
|
а почему мы всегда берем 20 особей? или это не имеет значения?
|
01.05.2012, 20:18 | #7 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Генетический алгоритм такая вещь, что с параметрами можно "играться" бесконечно. Мне приглянулось число 20
Любой шаг можно сделать многими путями (это я про способы скрещивания и мутирования). Цитата:
Особей не должно быть слишком мало, иначе они могут "выродиться" (при решении более сложных задач мы можем упереться в локальный минимум или максимум); Особей не должно быть слишком много, иначе операции с ними будут слишком долгими.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
02.05.2012, 08:39 | #8 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Предпочитаю на "ты".
|
02.05.2012, 17:16 | #9 |
Регистрация: 10.01.2011
Сообщений: 8
|
а еще вопросы))) a[j1, j] := abs((a[j1, j] - a[j2, j]) div 2) + 1 вот эта формула откуда...? и последующие в процедурах)))
|
02.05.2012, 17:26 | #10 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Так я говорю, что это широкий простор для творчества)
Формулы взяты "от балды". a[j1, j] := abs((a[j1, j] - a[j2, j]) div 2) + 1; - заменяет 1 особь на гибрид из 1 и 2 особи Главное - чтобы числа оставались в области определения, т.е. целые положительные. a[j1, j] := abs(a[j1, j] + random(10) - 5) + 1; - особь 1 мутирует случайным образом.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Уравнение | Katrina* | Паскаль, Turbo Pascal, PascalABC.NET | 20 | 24.12.2011 14:50 |
уравнение | Poma][a | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 13.10.2011 20:30 |
уравнение | Екатерина Воробей | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 03.10.2011 18:42 |
Задача на VBA Диофантово уравнение | Maxs | Помощь студентам | 6 | 11.06.2009 14:05 |
Уравнение | Paul_AG | Общие вопросы C/C++ | 19 | 10.05.2009 22:50 |