Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Эволюция в виртуальной машине

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9

Открыть новую тему     Написать ответ в эту тему

Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
2 Unconnected:
 
Дык, они ж приватные... Инкапсуляция, все такое... Нехорошо... Учили так...
 
Прокомментировать... В общем, это приватные переменные и методы.
 
bool hromosoma[100];  - собственно, хромосома... булев массив...
           
остальные переменные - или дублируют гены, про что мы не раз говорили, или такие, которые нет смысла загонять в хромосому, типа возраста.
 
Вот. А эти методы..
   
          void SetBinary(int,int,int);  
          int GetDecimal(int,int);  
          void VarInitialization();              //hromosoma->vars;  
          void HromosomaInitialization();  //vars->hromosoma;  
 
Я уже описывал. Зайдите на сайт, я уже писал, там обо всем классе подробно расписано, на страниче "Описание" www.e-volution.freehost.kiev.ua
 
 
2 Artsh:
 
Попробую, может, так...
 
Объявление динамического массива объектов Essence;
   (при объявлении для каждого объекта выполняется конструктор)
Объявление массива 100х100 объектов Cell;
   (аналогично, конструктор)
Начало такта - вызов главной функции;
    Цикл по длине массива Essence:
        Работа с i - объектом (добавление возраста, выполнение шага, и т.д. и т.п.)...
Конец такта.
 
Все основные действия происходят в цикле при работе с объектом. Т.е. за один такт обрабатываются все "нужды" каждого объекта. Если выясняется, что объект должен умереть, идет индексация массива, и т.д. куча всяких заморочек. Кода уже немерянно...  
 

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 11:55 07-05-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Crazy_Shrike
Сайт не грузится.

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 14:11 07-05-2004
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Странно, я пробовал ссылку... Да и знакомые уже заходили...

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 14:42 07-05-2004
beeos



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не грузится, факт.

Всего записей: 329 | Зарегистр. 06-01-2004 | Отправлено: 17:41 07-05-2004
ArtSh

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Crazy_Shrike

Цитата:
Начало такта - вызов главной функции;  
    Цикл по длине массива Essence:  
        Работа с i - объектом (добавление возраста, выполнение шага, и т.д. и т.п.)...  
Конец такта.

Опиши пожалуйста по подробнее.
 
 
А сайт не негрузится точно

Всего записей: 92 | Зарегистр. 30-03-2004 | Отправлено: 13:39 08-05-2004
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не знаю что такое с сайтом, у нескольких моих киевских знакомых проблем не было... Очень странно... Попробую захостится на другом сервере - напишу.
 
... Тело очень маленькое... Пока я, в основном, занимался реализацией методов, в цикле выполняется такое:
 
Цикл по длине массива
{
  добавление к возрасту единицы для i - объекта массива - Essence[i].IncAge();
  проверка, не пора ли объекту умирать. (age>lifetime)
     если пора, идет индексация массива - смещение элементов, начиная с  i+1;
  передача i - объекту информации о соседних клетках. Он принимает ешение о
  напралении хода и ходит, если захочет.  
  передача i - объекту информации о текущей клетке и выполнение соответсвующих
  инструкций относительно увеличения (уменьшения) атрибутов (массы, энергии,...)
}
 
В общем-то, по существу, все. Еще вне цикла есть немного всяких служебных вызовов функций, типа подсчета количества организмов по половому признаку,... , вывод информации в форму.
 
Из вас кто-то параллельно программирует? А то у меня такое впечатление, что я сижу перед приемной комиссией...  

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 10:14 11-05-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не перед комиссией, а перед группой поддержки
 
1. Как работает IncAge ? Учитывает ли условия обитания в ячейке?
2. Как принимается решение о перемещении?
3. Как ты планируешь побороть проблему неодновременности действий объектов? То есть если например один хочет другого съесть, но не может - так как тот имеет меньший индекс i и уходит из клетки быстрее чем тот его съедает?

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 11:19 11-05-2004
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
IncAge() выполняется без условий каждый такт. Это временная стрела мира и ни от чего не должна зависить.
 
Решение о перемещении принимается на основе значения функции ценности для каждого направления. Пока ничего лучше не придумал, как F=(mass+energy)/время регенерации ресурсов.  (атрибуты клетки)  
 
3. Блин. Проблема. Не знаю.   Давайте думать...
 
 

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 11:49 11-05-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я имею ввиду что к старости (AGE) существа должно прибавлятся не фиксированное 1, а величина зависящая от качества жизни существа в этот такт.
 

Цитата:
 F=(mass+energy)/время регенерации ресурсов.  (атрибуты клетки)  

откуда оно (существо) знает время регенерации? это надо гены гениальности вводить


----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 12:16 11-05-2004
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Имхо, время есть время... Просто можно менять время жизни.
 
Время регенерации... Хм... Я думал, что объект может получить всю информацию о клетке... Даже не знаю.... Думаю.

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 17:18 11-05-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вот ты живешь - все ли ты знаешь о окружающем мире?
Это ведь тоже эволюция - эволюция знаний...
Думаю объект должен иметь некий ген развития мозга и от него зависила точность определения параметров клетки.
Должны же они ошибаться
 
А по поводe времени - мне кажется неправильно так - определять сколько проживет существо. Должно быть что то типа жизненной силы, от которой каждый такт отнимается некое число определенное в зависимости от условий проживания этого такта.

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 12:06 12-05-2004
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Точность определения параметров - идея хорошая.  Настолько хорошая, что я ее реализую.
Время жизни. Не нравится мне. Не буду. Не хочу.

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 14:19 12-05-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Получается что голодающее существо проживет то время сколько положено... это плохо для эволюции...
Пример:
Существо голодает по причине того что не может точно определить какая ячейка наиболее приемлема для жизни - то есть существо тупое, однако оно не умирает и дает столько же потомства сколько умное - вот и конец твоей эволюции.
Эволюция - это процесс который строится на очень правильной жесткой логике природы и устройства мира в целом.

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 11:30 13-05-2004
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Если оно будет голодать, время жизни уменьшится, оно умрет раньше и оставит меньше потомков.  
А если подражать природе, то ум стал решающим для выживания фактором только в одном случае.  Почему, например, птица не может обзавестить большими мозгами? Вес лишний, да и рефлексов вполне хватает, ей некогда думать. Зачем большой мозг муравью? Мозг - это муравейник, его единица - муравей - ничего не решает. Несмотря на то, что есть сотни тысяч видов животных, эволюция в сторону увеличения интеллекта никогда не идет, а если идет, то останавливается на минимально необходимом уровне.  
Эволюция - это жесткий отбор без компромиссов, но все же с некоторыми очень редкими случайностями.

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 14:23 13-05-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Если оно будет голодать, время жизни уменьшится, оно умрет раньше и оставит меньше потомков.  

Как ты это учитываешь? Из описанного алгоритма я не понял.
 

Цитата:
Эволюция - это жесткий отбор без компромиссов, но все же с некоторыми очень редкими случайностями.

Все в ней логично, нет тут случайностей... четкий баланс (на макро уровне по крайней мере).

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 15:40 13-05-2004
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Все в ней логично, нет тут случайностей... четкий баланс (на макро уровне по крайней мере).

 
А макроуровень для нас имеет второстепенное значение. Важна жизнь отдельных особей, которые продвигают свой вид по эволюционной лестнице. А это, в основном, мутанты.  
 
А вот слова "в ней все логично" меня чуть не довели до инфаркта и если б не скобки, он бы случился. Не "по крайней мере", а ТОЛЬКО. И то это не факт.
 

Цитата:
Как ты это учитываешь? Из описанного алгоритма я не понял.  
 

 
Дык, ясно.. Я ж реализацию методов и функций не публиковал...
 
Эх... Че-то нас мало осталось. Буквально, двое...  

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 16:16 13-05-2004
beeos



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Неправда, друзья... Нас больше, просто многие пока имеют возможность только следить за развитием событий...

Всего записей: 329 | Зарегистр. 06-01-2004 | Отправлено: 16:20 13-05-2004
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
beeos, наконец-то!
 
Что ж так? Хоть пару слов...

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 17:30 13-05-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Crazy_Shrike
Расскажи принцип, код не важен. С точки зрения программирования - то что мы делаем - очень простая задача. Гораздо важнее смысловой контент.

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 12:14 14-05-2004
Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
С виду - вроде простая. А вот я уже две недели не могу двумерный массив в функцию передать! Скоро лоб об монитор расшибу.
 
А про что кокретно рассказать?
 
Добавлено
Я застрял на такой, извините, фигне и прям жить не хочется!

Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 12:47 14-05-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Эволюция в виртуальной машине


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru