вырастим искусственный интеллект!!
, эволюция по ламарку
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.123] |
|
|
| Страницы: (10) « Первая ... 3 4 [5] 6 7 ... 9 10 все ( Перейти к последнему сообщению ) |
вырастим искусственный интеллект!!
, эволюция по ламарку
|
Сообщ.
#61
,
|
|
|
|
Ну что ж, wormball. Мне интересно: как ты парируешь мой следущий выпад в сторону теории эволюции и, соответсвенно, в твоё видение ИИ.
Генетические мутации являются движущим фактором эволюции и по своей природе случайны. Особь может приобретать как хорошие так и плохие гены, хотя для обьективного суждения нужна функция качества гена. В качестве примера возмём антилопу c некоторым геном, отвечающим за длину ног антилопы. Функцией качества гена антилопы будет гепард: чем длинее ноги у антилопы, тем труднее гепарду догнать её. Но с другой стороны антилопа является функцией качества для гена гепарда: чем длинее ноги у гепарда, тем легче ему догнать антилопу. Итак имеем: Выражая изменение гена, отвечающего за длину ног антилопы и гепарды в числовом диапазоне от -1 до 1, мы будем иметь, учитывая, что генетические мутации случайны, равнораспределенную случайную числовую последовательность (РСЧП) как для гена антилопы так и для гепарда. Тепер, обазначим за А РСЧП антилопы а за G - гепарда. Тогда: Цитата Условие если An < Gn, то Gn если An > Gn, то An Но так как A и G - РСЧП, то результат применения, описанного выше, условия, тоже будет РСЧП а это значит, что ни у антилопы, ни у гепарда, не будет происходить изменение гена(эволюция отсутсвует), отвечающего за длину ног. PS Не совсем корректно обьяснил с математической точки зрения, но суть, я надеюсь, понятна. |
|
Сообщ.
#62
,
|
|
|
|
Любопытно, почему же автор темы (Wormball) желает все-таки не решать практические задачи, а изучать самоорганизацию? Какие основания для этого могут быть?
|
|
Сообщ.
#63
,
|
|
|
|
Цитата Зверуга @ Не совсем корректно обьяснил с математической точки зрения, но суть, я надеюсь, понятна. Суть абсолютно непонятна. То немногое, что я из твоего повествования вынес, говорит лишь об отрывочном и превратном понимании тобой данной области. Цитата neurofish @ Любопытно, почему же автор темы (Wormball) желает все-таки не решать практические задачи, а изучать самоорганизацию? Какие основания для этого могут быть? А для чего вообще производятся фундаментальные исследования? По-моему, это очевидно - без фундаментальных исследований невозможно движение вперёд. |
|
Сообщ.
#64
,
|
|
|
|
Цитата А для чего вообще производятся фундаментальные исследования? По-моему, это очевидно - без фундаментальных исследований невозможно движение вперёд. вы, как я вижу, собираетесь провести некий эксперимент в рамках фундаментальных исследований. Есть ли у вас теория, модель, которую вы собираетесь проверить, конкретный вопрос, ответ на который даст эксперимент? Или же это эксперимент наудачу - "посмотрим,что будет"? Каковы критерии достижения результата? Когда нужно будет остановиться? Почему эксперимент именно таков? Есть те же клеточные автоматы, они проще и нужные свойства отражают, почему нельзя использовать модификацию одного из них? |
|
Сообщ.
#65
,
|
|
|
|
Цитата neurofish @ вы, как я вижу, собираетесь провести некий эксперимент в рамках фундаментальных исследований. Есть ли у вас теория, модель, которую вы собираетесь проверить, конкретный вопрос, ответ на который даст эксперимент? Или же это эксперимент наудачу - "посмотрим,что будет"? Первый пост плюс схема на гугле. По-моему, я достаточно внятно объяснил. Если есть конкретные вопросы по существу - задавайте. Цитата neurofish @ Почему эксперимент именно таков? То же самое. Цитата neurofish @ Каковы критерии достижения результата? Когда нужно будет остановиться? Формальных критериев, конечно, нет. Когда агенты будут решать новые задачи достаточно быстро. Остановиться - когда всё будет ясно. Скорее всего, такого никогда не случится. Цитата neurofish @ Есть те же клеточные автоматы, они проще и нужные свойства отражают, почему нельзя использовать модификацию одного из них? Насколько я читал про клеточные автоматы - они суть словоблудие. Если вы объясните мне пользу теории клеточных автоматов (особенно в свете настоящего проекта), я буду вам безмерно благодарен. |
|
Сообщ.
#66
,
|
|
|
|
Итак, я снова хочу таки начать реализовывать настоящий проект
На этот раз я принял стратегическое решение реализовывать его на "попсовом" языке, дабы не изобретать все велосипеды самолично, а также поиметь сколько-нибудь большую аудиторию потенциальных программистов. Стало быть, передо мной стоит проблема выбора языка и ИДЕ. Видимо, это будет нечто из нижеследующего: - Borland Delphi (версия?) - Borland C++ Builder (версия?) - MS Visual C++/C# (версия?) - ещё что-то (бесплатное?) Критерии выбора ИДЕ следующие: 1. Лёгкость в изучении. Я доселе никогда с подобными ИДЕ не сталкивался. Единственное предпочтение - паскаль мне как-то больше по душе, нежели С/С++. 2. Желательно наличие (в составе ИДЕ или в инете) готовых модулей для работы с графикой, сетью и т. п., и чтобы ими было удобно пользоваться. 3. Наличие сколько-нибудь большого количества разработчиков, потенциально могущих влиться в проект. Или наличие хотя бы ненулевого количества людей, готовых влиться уже сейчас 4. Конечно, желательно побольше скорость выполнения/компиляции и поменьше размер выдаваемого экзешника. Итак, исходя из вышеперечисленных пунктов и специфики настоящего проекта, какое ИДЕ бы вы мне порекомендовали? Заранее благодарен. |
|
Сообщ.
#67
,
|
|
|
|
Предложил бы Java, если здесь ява-программеров не наберешь, советую обратиться на винград, они там с жиру бесятся, не знают, куда руки приложить, причем кое-что совместно уже реализовывали.
Но на данном этапе язык - еще неважно. Обрисуй ВЕСЬ проект, т.е. - цель - важные элементы проекта - шаги/этапы от начала до конца Шагов желательно от 3 до 7, не более, но чтобы они охватывали собой всю реализацию, после чего остается лишь нажать кнопку "Пуск". Сделаешь такой план, опубликуешь, и он будет твоим каркасом, на который будешь наращивать мясо. И людям будет более понятно, что им предстоит с тобой. |
|
Сообщ.
#68
,
|
|
|
|
Цитата Тайлер @ Предложил бы Java Насколько я понимаю, ява сама в виртуальной машине исполняется. А если я ещё одну виртуальную машину надстрою, будет медленнее не в 10, а в 100 раз. Не надо мне такого счастья. Цитата Тайлер @ Но на данном этапе язык - еще неважно. Почему же? Когда ещё задумываться о языке, если не перед началом кодирования? В фазе проектирования проект и так провалялся почти два года, пора бы уже и честь знать. Цитата Тайлер @ Обрисуй ВЕСЬ проект, т.е. - цель - важные элементы проекта - шаги/этапы от начала до конца Шагов желательно от 3 до 7, не более, но чтобы они охватывали собой всю реализацию, после чего остается лишь нажать кнопку "Пуск". Так я вроде бы обрисовал. С момента первого поста концепция фактически не изменилась. Хотя, наверное, первое сообщение слишком длинно, чтобы его асилить. Вот, можно, например, так сказать: Цитата - цель Цель - получить искусственный интеллект. - сущность проекта Проект заключается в моделировании эволюции компьютерных программ ("агентов") на основе всем известной теории эволюции дедушки Дарвина. Агенты живут в своём виртуальном мире, могут размножаться, мутировать и умирать, посему борются за существование. Агенты представляют собой программы на языке Форт. Каждый агент выполняется в своей виртуальной машине. Агенты решают задачи .... ну невозможно суть проекта уместить в один экран, хоть ты тресни. По-хорошему, чтобы до конца понять суть проекта, надо прочитать всё, что я написал, плюс весь список литературы.Хорошо, подойдём с другой стороны. Опишем, как будет это выглядеть со стороны рядового пользователя (точнее участника проекта - проект не для пользы конкретного индивидуума, а для науки, хотя от процесса тоже можно получить определённое удовольствие). Итак, человек (для наглядности назовём его Васей) в один прекрасный день натыкается на сайт настоящего проекта, который заманивает его сладкими обещаниями о возможности внести посильный вклад в мировую науку и попутно получить удовольствие от выращивания искусственных созданий. Очарованный красотой идеи, Вася скачивает предлагаемую программу и устанавливает её на свой компьютер и тут же запускает (в качестве скринсейвера). Оная программа начинает свой нелёгкий труд по осуществлению эволюции. Вася при этом видит красивую картинку, как разноцветные агенты копошатся в своём мире, а сбоку высвечивается радующая глаз статистика о продвижении процесса эволюции во времени. Периодически программа обменивается агентами с другими компьютерами через интернет. Через некоторое время Вася начинает задумываться: а что, собственно, у него такое считается денно и нощно, и как это связано с искусственным интеллектом? Он лезет в настройки программы, пытаясь изменить их так, чтобы эволюция шла быстрее. Он вновь заходит на вышеупомянутый сайт, где знакомится с принципами, лежащими в основе проекта. Вася вспоминает, что он вообще-то программист, и начинает самолично придумывать новые задачи для агентов и новые варианты самих агентов. Вместо того, чтобы программировать очередной сайт, Вася часами просиживает за экраном, наблюдая за эволюцией электронных зверушек и пытаясь понять, почему же написанные им агенты дохнут. На форуме проекта Вася изучает чужой опыт ускорения электронной эволюции и делится своими соображениями на эту тему. Конечно же, всё это время у него на компьютере в фоновом режиме идёт эволюция. Попутно Вася агитирует всех своих знакомых принять участие в проекте, благо для этого не надо прилагать усилий - достаточно просто скачать файл и лицезреть красивую заставку. Вот, собственно, и всё. Подобная цепочка событий будет повторяться многократно, вплоть до победного конца. А про сущность проекта лучше моего первого поста я ещё ничего не придумал. - важные элементы проекта Собственно, элементов всего два: программа и сайт. Программа состоит из следующих модулей: - Виртуальная форт-машина, которая будет выполнять код агентов и задач. - Управляющий модуль, запускающий экземпляры виртуальных машин и координирующий их работу.(возможно, его функции будут в самой ВМ) - Модуль визуализации, возможно модули визуализации для каждой из задач. - Модуль передачи агентов по сети. - Собственно агенты и задачи. Для начала хватит 3-5 задач и одного варианта агента. Сайт: - Описание сущности проекта, документация. - Раздел "скачать": собственно система, варианты агентов, различные задачи. - Форум. - Возможно, некоторый серверный модуль для обеспечения передачи агентов по сети. - шаги/этапы от начала до конца - Написать виртуальную машину. - Написать пробную версию среды (рождение, смерть, передвижение, решение задач, мутация), пробную задачу (скажем, нахождение минимума полинома восьмой степени), пробного агента. Запустить на некоторое время. - Написать модули визуализации и работы с сетью. - Задокументировать всё это хозяйство. - Сделать сайт, где выложить только что написанную программу и красочно описать её достоинства. - Собственно после этого можно будет считать, что основное дело сделано, и заниматься постепенным увеличением парка задач, усовершенствованием среды (возможно, нескольких альтернативных сред), увеличением скорости работы виртуальной машины. Так сойдёт? Или надо что-то другое? Какое всё-таки ИДЕ брать? |
|
Сообщ.
#69
,
|
|
|
|
Цитата wormball @ Какое всё-таки ИДЕ брать? Если для виртуальной машины важна скорость - то однозначно ИДЕ C/C++, Intel C Compiler отлично оптимизирует, т.ч., к великому сожалению, Делфи с Билдером (включая самые последние версии) идут лесом, причём лесом очень тёмным и глухим... |
|
Сообщ.
#70
,
|
|
|
|
Цитата ors_archangel @ Если для виртуальной машины важна скорость - то однозначно ИДЕ C/C++, Intel C Compiler отлично оптимизирует, т.ч., к великому сожалению, Делфи с Билдером (включая самые последние версии) идут лесом, причём лесом очень тёмным и глухим... А ИДЕ у интела есть? В принципе можно ВМ отдельно интелом скомпилировать, хотя вряд ли будет коренной прирост скорости. Вообще у меня впечатление, что 90% людей программирует на M$, стало быть, я склоняюсь к M$. Но какой версии? Или всё-таки борланд..... Он сильно проще в освоении? Завтра (сегодня ) в многошум пойду спрашивать. |
|
Сообщ.
#71
,
|
|
|
|
Цитата wormball @ Ага, хорошо Так сойдёт? Или надо что-то другое? На яву зря катишь, по производительности она сравнима с тем же С++, конечно смотря где и смотря как, но в твоем случае - особенно (подробности в холиваре Java vs C++). За то код получишь более читабельный и красивый, да и программировать проще - больше концентрируешься на задаче, а не на деталях машинной имплементации. Хотя вообще, раз ты - лидер проекта, то язык должен быть тот, в котором ты шаришь. Иначе удержать контроль над происходящим будет тяжело. Поэтому - почему бы не паскаль? |
|
Сообщ.
#72
,
|
|
|
|
Цитата Тайлер @ На яву зря катишь, по производительности она сравнима с тем же С++, Ээээээээээээээ........ можно сцылку? Цитата Тайлер @ Хотя вообще, раз ты - лидер проекта, то язык должен быть тот, в котором ты шаришь. Иначе удержать контроль над происходящим будет тяжело. Поэтому - почему бы не паскаль? Так в том-то и прикол, что я ни в одном из "попсовых" ИДЕ не работал. Кстати, я таки начал реализовывать виртуальный форт - по совету тов. DJ KARIES я сделал выбор в пользу Turbo Delphi 2006. Написал уже почти 1000 строк кода (на пару с дельфёй ). |
|
Сообщ.
#73
,
|
|
|
|
Цитата wormball @ Че-то лень искать, на винграде в факе явовом тоже есть сравнение.Ээээээээээээээ........ можно сцылку? Цитата wormball @ Во, Кариеса тебе в руки! Пусть пишет с тобой, успех гарантирован =)Кстати, я таки начал реализовывать виртуальный форт - по совету тов. DJ KARIES я сделал выбор в пользу Turbo Delphi 2006. Написал уже почти 1000 строк кода (на пару с дельфёй ). То есть начал уже писать виртуальную машину-среду? |
|
Сообщ.
#74
,
|
|
|
|
Цитата Тайлер @ Во, Кариеса тебе в руки! Ага, так он мне и дался. Он только советовать горазд Цитата Тайлер @ То есть начал уже писать виртуальную машину-среду? |
|
Сообщ.
#75
,
|
|
|
|
Цитата wormball @ А четак? По мне так успешный программер, с широким портфолио наработок... Ага, так он мне и дался. Он только советовать горазд |