Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Вниз

Open source проект   Найти похожие ветки 

 
NeyroSpace   (2002-10-01 11:08) [0]

NeyroSpace © (01.10.02 10:37)
Есть идея написать, что-то вроде большой Internet игры под названием "Эволюция", где собственно, промоделировать случайные не направленные мутации + естественный отбор.
Все это сделать с вэб интерфейсом, чтобы каждый мог зайти и породить свою козявку, а там уж посмотрим, кто кого.

Ну как идея?


 
Asteroid   (2002-10-01 11:12) [1]

(info источник: http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1033325531&n=3 )
А что? Идея отличная


 
RV   (2002-10-01 11:29) [2]

хотелось бы посмотреть для начала аналог от мелкомягких

потом, будем моделировать среду для выживаемости некоего кода (код воздействует на среду)
или объекта (среда воздействует)


 
Akella   (2002-10-01 11:32) [3]

мы обсуждаем идею или договариваемся о реализации.
Если последнее - объявите пожалуйста руководителя проектом и начнем


 
RV   (2002-10-01 11:33) [4]

предлагаю руководителем NeyroSpace ©


 
NeyroSpace   (2002-10-01 11:34) [5]

есть несколько вариантов реализации:
1. PHP сценарий, но так как он срабатывает только при запросе страницы, все будет происходить в пошаговом режиме.
2. Ехе, кот. будет постоянно работать, получать входные данные от вэб интерфейса, и формировать выходные, ввиде html страницы.
3. Вместо вэб tcp/ip интерсейс.
да и еще инфу об обьектах возможно прийдется хранить в БД, например MySQL.


 
NeyroSpace   (2002-10-01 11:41) [6]

Что касается обьектов, то я еще не совсем уверен в том как реализовать механизм наследования, т.е. брать его от классов (т.е. обьектный) или сделать вручную (процедурный).

Сами обьекты должны характеризовать некоторым числом параметров.
Особенно энергия, кот. должна накапливаться/терятся и переходить от одного обьекта к другому при поедании.
+ Суммарные возможности должны быть одинаковы у всех, но у каждого распределены по своему (кто-то быстрее бегает, кто-то лучше нападает)


 
RV   (2002-10-01 11:44) [7]

NeyroSpace © (01.10.02 11:41

блин, Бойцовским клубом пахнет :)
надо подумать как-то иначе делать, имхо
временно тут постить не буду, буду думать


 
NeyroSpace   (2002-10-01 11:51) [8]

описание обьекта:
методы:
двигаться()
есть()
размножаться()
...

свойства:
тип обьекта //? редуцент, продуцент (или хищник и травоядн)
энергия
скорость движения
маскировка
атака
защита
время размножения
кол-во потомства

что еще?


 
RV   (2002-10-01 12:18) [9]

NeyroSpace © (01.10.02 11:51)

свойства:
мутации
адаптация к среде

для начала хватит (потом можно расширить)

Какая внешняя среда?


 
RV   (2002-10-01 12:21) [10]

адаптация к среде очевидно зависит от др. свойств



 
Akella   (2002-10-01 12:24) [11]

срок жизни
можно задавать зависимость свойства осыби от ее возраста

ещебы язык для описания поведения


 
NeyroSpace   (2002-10-01 12:26) [12]

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


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


 
RV   (2002-10-01 12:30) [13]

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


 
Akella   (2002-10-01 12:33) [14]

А как насчет пространства в нашей системе?


 
RV   (2002-10-01 12:55) [15]

насчет пространства в нашей системе
предлагаю аквариум
1.легче описывать что-то конкретное
2.пространство для жизни замкнуто


 
NeyroSpace   (2002-10-01 13:00) [16]

проще всего:
2х мерное пространство (плоскость)
одна среда обитания (например суша)


 
RV   (2002-10-01 13:04) [17]

2х мерное пространство (плоскость)
тогда ограниченная плоскость - квадрат, например, но большой
иначе все расползуться.
Квадрат для матрицы удобен


 
RV   (2002-10-01 13:20) [18]

начальник, ты что молчишь?


 
NeyroSpace   (2002-10-01 13:21) [19]

Решено - большой квадрат. (без деления сред?)
Далее форма обьектов.
Помнится одной из моеих первых прог на бейсике (еще для Spectrum"a) был "Удав". И сейчас не хочется ограничеваться лишь мелкими квадратиками или кружочками...
Нужно сделать запись, описывающую внешние "габариты" практически произвольного обьекта.
Например, для удава это 2х мерный массив типа [2,100].
Т.е. в массиве хранятся пары координат каждого "позвонка", если так можно выразится.
Кстате, на джава скрипт он бегает весьма резво. (или на клиентской машине будет просто JAVA, или ActiveX ?)


 
NeyroSpace   (2002-10-01 13:25) [20]

Кто-нить предлагайте реализацию клиента...


 
RV   (2002-10-01 13:30) [21]

Решено - большой квадрат. (без деления сред?)
имхо, с делением. каждая ячейка должна характеризоваться наличием в ней пищи(травы, например, края в свою очередь имеет некий период воспроизводства)

Нужно сделать запись, описывающую внешние "габариты" практически произвольного обьекта.
Например, для удава это 2х мерный массив типа [2,100].

сложно больно. Предлагаю каждый живой объект - в одной ячейке матрицы.

Кстате, на джава скрипт он бегает весьма резво. (или на клиентской машине будет просто JAVA, или ActiveX ?)
без понятия...имхо, пока не важно


 
vopros   (2002-10-01 13:36) [22]

Помойму, ничего писать не надо. Уже все есть. Например,этот форум.


 
AL2002   (2002-10-01 13:40) [23]

>Помойму, ничего писать не надо. Уже все есть. Например,этот
>форум.
...со своими удавами.


 
NeyroSpace   (2002-10-01 13:45) [24]

ок пусть в первой версии будут разноцветные квадратики.

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

Или по образу и подобию нашего мира, где есть Солнце и за его счет вся халява...

Реализация клиента важна, т.к. хотелось бы все что броисходит на сервере отобрабать в браузере.
Мастера укажите верный путь для этой задачи!


 
NeyroSpace   (2002-10-01 13:48) [25]

Только через сотворение собственного мира можно познать окружающий.


 
cyborg   (2002-10-01 14:54) [26]

Значит так, всё делается "просто", РНР сразу отпадает, так как хостер такой скрипт, который пожирает все ресурсы сразу destruction сделает.
Реализация такая, сам мир, т.е. программа использует подключаемые библиотеки DLL, вот эти баблиотеки как раз и реализуют экземпляр существа. В данных библиотеках должны передаваться по крайней мере такие параметры, как адресс данных мира и адрес данных адресов других существ для анализа и текущие установки окружающей среды, в свою очередь, должна быть процедура передачи параметров данного образца другим образцам, которые можно получить по адресу з передаваемых данных. Наша "существо" DLL-ка будет по данным мира обрабатывать информацию, форматы данных мира нужно заранее обговорить, так сказать стандартизировать.И вот наша DLL-ка теперь может размножать копии существ своих посредством правил и тех данных, которые ей передаются, каждый экземпляр "существа" сможет обрабатывать окружающий мир в том месте, где он находится и соответственно реагировать на этот мир, если например это хощьник, у него по истечении какого-то времени появляется "голод" и вот он ищет цель нападения, если цель оказалась сильной, то этот хищьник проигрывает борьбу и даже может погибнуть, ну а если слабая цель, то соответственно сьедает её. Ну и т.д. дальше сами разрабатывайте.
Затем каждый желащий программист, следую "стандарту" данных и входящих и выходящих процедур, может создавать свои "существа" в виде отдельных DLL.


 
Akella   (2002-10-01 15:10) [27]

ограничение на поедание, размножение, видимость и пр?


 
RV   (2002-10-01 15:19) [28]

ограничение на поедание, размножение - да!
видимость - нет, не стоит


 
NeyroSpace   (2002-10-01 15:27) [29]

В USA есть шоу бои роботов на выживание. У нас выходит бои виртуальных существ в виртуальном пространстве на выживание.

Открытый интерфейс на DLL это хорошо, но тогда тот кто не умеет программировать не сможет создать свой вид существ.

И что тогда это будет за сервер?


 
Akella   (2002-10-01 15:27) [30]

то есть можно видеть весь мир?

Я предлагаю задать свойство зоркость и передавать массив описывающий окружающее прастранство в зависимости от этого параметра


 
RV   (2002-10-01 15:30) [31]

Я предлагаю задать свойство зоркость и передавать массив описывающий окружающее прастранство в зависимости от этого параметра
я - за.


 
NeyroSpace   (2002-10-01 15:35) [32]

cyborg ©
получается что это уже не случайные мутации, а просто целенаправленая борьба РОБОТОВ за выживание.

С одной стороны это интереснее, но с другой - ты пишешь длл, а мутации через несколько поколений узуродуют твое детище и оно помрет в немыслимых мучениях.

Хотя проект битвы виртуальных роботов тоже интересен.


 
copyr25   (2002-10-01 16:59) [33]

>NeyroSpace © (01.10.02 10:37):
>Есть у меня идея написать, что-то вроде большой игры
>под названием эволюция, где собственно и промоделировать
>случайные не направленные мутации + естественный отбор.
>Все это сделать с вэб интерфейсом, чтобы каждый мог зайти и
>породить свою козявку, а там уж посмотрим, кто кого.
>Ну как идея? (хотя нечто подобное уже есть Life называется
>правда подробностей я не знаю) Но то заграничное, а это будет наше.
>Заодно и проверим теорию на практике.

Очень отважная цель:)) Боюсь, что задача, помимо интерфейса,
слишком сложна.

Кстати, про игру Life. Очень нехилая вещь.
Напомню, она была придумана математиком Джоном Х.Конвеем где-то,
в 60-х годах. Отличается очень четкими и простыми правилами, которых
всего три, они касаются условий выживания, гибели и рождения.
Сейчас в сетке можно найти очень много сайтов с (в частности на Java)
возможностью "породить свою козявку" в условиях конвеевской эволюционной
теории. Достаточно набрать на Altavist"e:
Game Life Conway
Ну, например:
http://www.bitstorm.org/gameoflife/
PS: Я давным-давно сделал на Basic"e программку типа, там кроме
рождения, гибели и выживания были ещё пол, возраст и пищевые ресурсы.
Но мои "гады" почему-то не хотели "плодиться и размножаться" - просто
пожирали все ресурсы, старели и умирали:)))
Не зря в Библии Змея ввели!!


 
Jeer   (2002-10-01 17:23) [34]

Далее, "Жизнь" получила развитие в различных релизах с измененными правилами.
Помню, когда я впервые с ней познакомился, то настолько меня она захватила, что рисовал эволюцию в тетради по клеткам (персоналок не было еще, даже и калькуляторов)
Потом уже делал релизы на разных платформах.

А почитать стоит о генетических алгоритмах.
Всеобщий бум на них сейчас.


 
Игорь Шевченко   (2002-10-01 17:28) [35]

Jeer © (01.10.02 17:23)

Аналогично, про игру "Жизнь" :-)


 
Akella   (2002-10-02 08:15) [36]

Ну так нами начнут руководить али как?

И еще: может не задовать форму тварей.
1)Каждая тварь занимает 1 клетку (Вид твари можно задать рисунком)
2)Нападать можно на тварь находящуюся на соседней клетке.
3)Питаться можно только с клетки на которой стоишь
4)Каждая клетка имеет растительную и животную пищу (предположим червячки) Когда кто-то погибает - количество животной пищи в клетке увеличивается. Пища по определенному закону мутирует из одного вида в другой (разложение, или наоборот червячки травку едят). Количество пищи изменяется в зависимости от количества на соседних клетках

Ну так что?


 
RV   (2002-10-02 08:51) [37]

про игру Life
это я тоже писал, и тоже извращался (2 рассы у меня были, крые мешали друг другу)

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

:) вот мне сегодня сон сниться. Иду я по темному корридору, из оружия только автомат(ХалфЛайф), патронов нет и одна граната в подствольнике :), из-за угла выходит акула с рогами и на задних ногах, вот блин, думаю, по карте в этой клетке матрицы никого быть не должно....


 
cyborg   (2002-10-02 10:14) [38]

RV © Да-а-а.... поменьше играть нужно! :)


 
Akella   (2002-10-02 10:17) [39]

Ну так что?


 
RV   (2002-10-02 10:21) [40]

слишком круто мы взяли, или будет не интересно, или пол-года писать будем

я пас :((, простите...



 
Akella   (2002-10-02 10:46) [41]

Ну так что?




 
NeyroSpace   (2002-10-02 11:04) [42]

У кого-нить есть идеи программной реализации?
Какие технологии использовать?
Я выше уже писал. Кто что думает? На чем все это писать?


 
Akella   (2002-10-02 12:15) [43]

на делфи
класс МИР в котором описывается мир и ссылки на тварей
класс ТВАРЬ в которой описываются параметры твари и задаются ограничения на эти параметры. 3 функции: передвижение. пищеварение и размножение. можно чтоб они обрабатывали заданный на разработанном языке алгоритм поведения, а можно чтоб каждый писал на делфях обработку передаваемых данных о мире.
визуализировать можно потом



 
NeyroSpace   (2002-10-02 12:44) [44]

2 Akella © (02.10.02 12:15)
хотелось бы чтобы этот "мир" был доступен из инета.
Какую технологию использовать для создания вэб интерфейса?


 
Asteroid   (2002-10-02 13:55) [45]

А почему нельзя на сервере создать прогу, кот. просчитывает все ходы, а на компе стоит клиентская прога, кот. связывается с серверной и получает от нее данные?


 
Akella   (2002-10-02 15:16) [46]

2Asteroid © (02.10.02 13:55)

Ага!


 
Asteroid   (2002-10-02 17:29) [47]

Есть предложение - несколько усложнить условия, а то слишком на Terrarium смахивает. Например, для некот. эивотных необходимо два вида питания (растения и вода), добавить подземный мир с червями, добавить пернатых - ну в общем, симулятор жизни. Сложнее, зато гораздо интересней


 
Asteroid   (2002-10-02 17:45) [48]

И мутации как делать будем? Произвольное изменение параметров (в районе от -50% до +10%) или же посложнее? Только обязательно, чтобы мутации проявлялись в следующем поколении. Может быть даже сделать флаг, определяющий через сколько поколений проявится мутация.
Кстати, интересно было бы сделать наследование признаков от обоих родителей ( как в генетических алгоритмах ), т.е. скорость и размнрожение - от одного, зоркость и маскировку - от другого.
Наконец, самая бредовая идея - сделать 3D мир, чтобы чел. мог управлять своим животным (в отсутствии чела оно действует по алгоритму). Но это уже дико сложно.


 
NeyroSpace   (2002-10-02 17:58) [49]

т.е. TCP/IP интерфейс и никакого браузера?


 
Asteroid   (2002-10-02 18:01) [50]

Именно так.


 
Asteroid   (2002-10-02 23:04) [51]

So what? Проект заглох, даже не родившись?


 
Znaika   (2002-10-02 23:12) [52]

Либо яйцеклетка не созрела, либо зоиды не активны.:))


 
MsGuns   (2002-10-02 23:16) [53]

Мужики, я понял что гама почти готова. Где можно скачать клиентскую часть ?


 
Akella   (2002-10-03 08:40) [54]

1) Кто в проекте?
2) Я предлагаю начать с разработки языка программирования интелекта. Какие предложения?


 
grifon   (2002-10-03 08:51) [55]

http://www.robotact.newmail.ru/


 
cyborg   (2002-10-03 09:01) [56]

Akella © Я помоему уже сказал с чего нужно начинать. Со "стандартов" данных.


 
NeyroSpace   (2002-10-03 11:57) [57]

Проект не заглох, он живет в наших умах!
И так задачи по степени важности:
I. Написать ядро.
II. Определить интерсейсы с клиентами.
III. Написать клиентов.

Насамом деле желательно сразу определить интерфейсы и параллельно писать ядро и клиентов.
И все-таки предлагаю браузер+ActiveX (если не ошибаюсь в ActiveX можно сделать TCP/IP клиентом?)


 
NeyroSpace   (2002-10-03 12:06) [58]

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


 
Asteroid   (2002-10-03 17:22) [59]

NeyroSpace © (03.10.02 12:06)
А может сделать несколько mirror, обменивающихся данными с сервером, и уже через них подключение множества клиентов.


 
Asteroid   (2002-10-05 21:05) [60]

Нет, похоже, что проект захлебнулся от потока мыслей...



Страницы: 1 2 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.77 MB
Время: 0.079 c
3-92396
zdn
2002-10-08 14:41
2002.10.28
---|Ветка была без названия|---


1-92610
borg
2002-10-17 13:53
2002.10.28
открыть файл


4-92801
@andrew
2002-09-16 18:21
2002.10.28
ShellExecute


3-92370
Avsam
2002-10-04 18:48
2002.10.28
TBitmap в/из Blob


1-92534
zsv
2002-10-16 09:14
2002.10.28
Не могу изменить значение параметра в реестре!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский