PDA

View Full Version : گفتگو: خلق یک دنیای مجازی



IamOverlord
شنبه 20 اسفند 1390, 18:25 عصر
سلام دوستان!
یه ایده ای به ذهنم رسیده:
یک پروسس God طراحی می کنیم که کار این پروسس اینه که داخل یه پوشه به نام World، هی فایل exe. تولید کنه و اجرا کنه. این فایل های exe. محتویات کاملا رندومی دارند. ضمنا بعد از مدت مشخصی از عمر هر فایل exe ای، برنامه اش بسته می شه. قبول دارید که با توجه به نظریه ی تکامل باید این جا یه زندگی به وجود بیاد؟! :متفکر:

xxxxx_xxxxx
شنبه 20 اسفند 1390, 19:08 عصر
سلام، :لبخندساده:
God و تکامل! نمیشه. یا خلقت. یا تکامل.
چرا باید توی فولدر World زندگی و تکامل به وجود بیاد؟ مگر ایجاد محتویات فایل ها بر اساس قوانین تکامل هست که زندگی به وجود بیاد؟
گفتید محتویات رندوم. اما تکامل بر حسب شانس و تصادف نیست. این اشتباهی هست که خیلی ها می کنند. تکامل قوانین خودش رو داره. هیچ چیزی در تکامل به جز جهش ژنی (Mutation) شانسی نیست. که تازه همینش هم به خاطر نقص علم ماست که میگیم شانسی و تصادفی هست، وگرنه تکامل هیچ سنخیتی با تصادف و شانس نداره. تکامل قوانین خودش رو داره.

متشکرم

shahmohammadi
شنبه 20 اسفند 1390, 19:52 عصر
سلام، :لبخندساده:
God و تکامل! نمیشه. یا خلقت. یا تکامل.
چرا باید توی فولدر World زندگی و تکامل به وجود بیاد؟ مگر ایجاد محتویات فایل ها بر اساس قوانین تکامل هست که زندگی به وجود بیاد؟
گفتید محتویات رندوم. اما تکامل بر حسب شانس و تصادف نیست. این اشتباهی هست که خیلی ها می کنند. تکامل قوانین خودش رو داره. هیچ چیزی در تکامل به جز جهش ژنی (Mutation) شانسی نیست. که تازه همینش هم به خاطر نقص علم ماست که میگیم شانسی و تصادفی هست، وگرنه تکامل هیچ سنخیتی با تصادف و شانس نداره. تکامل قوانین خودش رو داره.

متشکرم

با سلام. بله علت جهش در تكامل حتما كه شانس نيست و موضوع پيچيده اي بايد باشه.
در ضمن در همين برنامه هايي كه از طريق تكامل مساله رو حل مي كنند بالاخره كه اولش يه برنامه نويس اينهاي رو نوشته (خلق كرده) و اين كد ها همين طوري نوشته نشده اند.

IamOverlord
شنبه 20 اسفند 1390, 20:50 عصر
سلام!
خیلی ممنون از پاسخ هاتون، دقیقا گرفتم چی می گید، اما شاید منظورم رو بد رسوندم، من نمی گم این کار مستقیما باعث ایجاد حیات و ... می شه؛ منظورم از تکامل این جای کار نیست. قطعا سال ها و سال ها طول کشیده که اصلا شرایطی ایجاد بشه که موجودات زنده (از نظر من موجوداتی که عین خودشون رو به وجود می آرن یا پروسس هایی که عین خودشون رو...(ساختار سازمان یافته ی سلولی و کربنی و ... وسیله ای برای داشتن این ویژگیه وگرنه خودش ویژگی موجودات زنده نیست ...)) بتونن به وجود بیان و قوانین تکامل بتونن کار کنن. شاید بار ها و بار ها موجوداتی (پروسس هایی) به وجود بیان ولی مثل خودشون رو ایجاد نکنن (پس زنده نیستن (حداقل بعد از مدتی!)) . اصلا چرا باید یک راست موجود زنده به وجود بیاد. شاید پروسس دیگه ای به وجود بیاد که قوانین تکامل رو اجرا می کنه. شاید پروسس هایی که به وجود می آن خودشون اون موجودات زنده نباشن و زندگی در سطحی پایین تر به وجود بیاد. مثلا اون ها یه پوشه ی جدید بسازن به اسم World. (شاید هم نه) در کل می گم اگه قرار باشه زندگی به وجود بیاد بالاخره به وجود می آد. بدون این که God.exe با قوانین پیچیده ای زندگی رو به وجود بیاره. اصلا شاید (اگر زمان محدود نباشه : قطعا) God.exe برنامه ای رو بسازه که اون قوانین پیچیده رو پیاده کنه. حتی اگه God.exe ندونه (نمی دونه) چی می سازه. شاید یه برنامه ای مثل خودش رو بسازه. هزاران شاید هست. که بالاخره همه اتفاق می افتن. اگر God.exe ی ما کار نکنه و Project1.exe ی یه برنامه نویس دیگه که از همه چی سر در می آره کار کنه، God.exe شانس این رو داره که Project1.exe رو بسازه. (اگر زمان کم نباشه و خیلی خیلی خیلی... زیاد باشه حتما.) اگه Takamol.exe کار می کنه، God.exe بالاخره اون رو می سازه. این God.exe همون God مهربون و حکیم و ... نیست. شاید RealGod.exe رو بسازه که این ویژگی ها رو داشته باشه. ما از قوانین تکامل سر در نمی آریم (اصلا فرض کنیم تا حالا هیچی در موردش نشنیدیم)، اگر کار می کنن، بالاخره یه روزی اجرا می شن که کار کنن.
اصلا بی خیال، فرض کنید یه برنامه ی آرمانی BestWordCreator.exe هست که بهترین شبیه سازی حیات رو انجام می ده. God.exe می تونه این برنامه رو بسازه. اصلا شاید بگید اون برنامه ی آرمانی بغلش یه سری DLL داره و God.exe فقط exe تولید می کنه، تکلیف اون DLL ها چی می شه؟! من می گم God.exe می تونه برنامه BestWorldCreatorSetup.exe رو بسازه. منظورم این طوری بود؛ آیا این طوری حیات به وجود نمی آد؟! ببینید ابر کامپیوتر های عقیم ساخته می شه، اما قوطی حلبی هایی که تولید مثل کنن رو نمی دونم. خوب ما سختمونه یه همچین وسیله ی فیزیکی ای رو بسازیم، ولی کار نرم افزاری آسون تره. این جا رو هم ببینید شاید فکرم رو بهتر درک کنید : Infinite Monkey Theorem (http://www.google.com/url?sa=t&rct=j&q=infinite%20monkey%20theorem&source=web&cd=1&sqi=2&ved=0CDQQFjAA&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FInfinit e_monkey_theorem&ei=NJFbT4yOMYamhAeq2sSoBA&usg=AFQjCNHwkb-WCEgxqqcoJz7kAPqn-0Mekg)

shahmohammadi
شنبه 20 اسفند 1390, 21:48 عصر
متوجه شدم چه چيزي مي خواهيد بسازيد.
يعني يه برنامه اي بسازيم كه مدام يه تعداد فايل اجرايي بسازه كه كد هاشون رو توشون تصادفي قرار بده و اين ها رو اجرا كنه.
و بعد كه اين فايل ها اجرا بشند در بهترين حالت (حالت آرماني) با هم تكامل داشته باشند. و يا يك خالق آرماني باشند كه فايل هايي رو توليد كنه كه با هم اين تكامل رو دارند. (و در ضمن مي تونند فايل هاي اجرايي ديگري مثل همين word و paint و يا يك ويروس و .. هم باشند)
با اين حساب يه برنامه اي رو مي خواهيم بسازيم كه فقط بي نهايت بار اجرا مي شه (مثل قضيه بينهايت ميمون) و كارش فقط اينه كه فايل هاي اجرايي نامشخص ديگري رو توليد كنه.
نمي خواهم كه به كارتون ايراد گرفته باشم (كه التبه ايده ي خوبي هم هست) ولي اين كار (بنا به قضيه، بي نهايت بار اجزا شدن) فكر مي كنم از عهده نرم افزار هم برنياد (همون طور كه از عهده جهان فيزيكي برنمي آد) و فقط از عهده عالم رياضيات بر مي آد كه بنا به اين لينك (http://mathforum.org/library/drmath/view/55871.html) مي شه بي نهايت ميمون در نظر گرفت. چرا كه اين قضيه براي حالتي اثبات شده كه بينهايت بار اين اتفاق بيفته.

IamOverlord
یک شنبه 21 اسفند 1390, 08:07 صبح
خیلی ممنون از پاسختون.
مثلا یه برنامه ی Hello World در 2 کیلو بایت (یعنی 16192 بیت) نوشته می شه. کلا برنامه های 2 کیلو بایتی، 2 به توان 16192 حالت دارن. که با دادن زمان کافی (بهتره نگیم بی نهایت)، ساخته می شن. حالا شما فرض کن این برنامه ی 2 کیلوبایتی موجود زنده ای باشه که گفتم.(مثال)

shahmohammadi
یک شنبه 21 اسفند 1390, 20:17 عصر
خوبه.
2 به توان 16192 مي شه يك عدد 4874 رقمي. هاردي كه بايد استفاده شه تا اين همه فايل 2 كيلويي رو ذخيره كنه مي دونيد كه بايد چه قدرظرفيت داشته باشه.
حالا ممكنه بگيد كه نوبتي فايل ها رو مي سازيم و بعد از اين كه يه فايلي اجرا شد اونو پاكش مي كنيم. خوب اين هم يعني زمان برنامه كلي بالا بره. كه تازه زمان برنامه خودش همين طوري به چند هزار قرن (بيشترين عددي كه بلدم) مي رسه.

اگه از لحاظ رياضي به اين مساله توجه كنيم و ببينيم كه آيا در چند هزار قرن آينده احتمال داره كه حيات (به صورت نرم افزاري) به وجود بياد يا نه باز به يه چيزي مي رسيم.

IamOverlord
یک شنبه 21 اسفند 1390, 21:14 عصر
خوب مثلا ما 100 گیگابایت فضا داریم. این قدر فایل می سازیم تا این که پر می شه این فضا، بعد مجبور می شیم قدیمی ترین فایل ها رو حذف کنیم و فایل جدید رو بذاریم جاش.
یه مسئله ی دیگه هم هست. این که فایل های ما خیلی هاشون اصلا کار نمی کنن و چرت و پرت هستن. که این خیلی وقت رو تلف می کنه. بهتره یه ساختار اجرایی جدید (به جای فایل exe) طراحی کنیم، که هر چرت و پرتی براش یه معنایی برای اجرا داشته باشه. این طوری کار بهتر پیش می ره.
ضمنا حتی اگه بشینیم اون 2 به توان 16192 فایل رو تولید کنیم، احتمال این که Hello World به وجود بیاد به درصد 100 تقسیم بر 2 به توان 16192 هست! البته اگه کار رو ادامه بدیم این احتمال بالاتر می ره. اما بهتره با فایل های exe این کارو نکنیم، چون درصد زیادی از این فایل ها هیچ اجرا هم نمی شن! اما اگه یه ساختار اجرایی متفاوت درست کنیم با یه محیط اجرای متفاوت فکر می کنم جالب تر باشه... طوری که تعداد زیادی از کد های ساخته شده ی Random مون حداقل یه کاری بکنن...

shahmohammadi
دوشنبه 22 اسفند 1390, 00:40 صبح
مثلا اين چطوره:
يك برنامه با يك تابع مين كه فقط بلده يه تابعي رو صدا كنه:
int main()
{
func();
return 0;
}
برنامه اصلي بايداين برنامه رو بسازه. منتها در هر قدم فقط تابع مورد نظر رو به صورت تصادفي درست كنه.
براي اول كار چطوره؟

IamOverlord
دوشنبه 22 اسفند 1390, 00:57 صبح
اگه می شه یه کم توضیح بدید... :متفکر:

shahmohammadi
دوشنبه 22 اسفند 1390, 00:57 صبح
مثلا فرض كنيم كه تابع func اندازش در فايل 500 بايت هست. پس func رو به صورت زير تعريف كنيم:
void func()
{
__asm{
NOP
NOP
...
NOP
}
}

با استفاده از nop ها 500 بايت رو براي اين تابع در فايل باز كنيم.
بعدش برنامه مون يك كپي هايي از فايل بزنه و در هر بار توي اين 500 بايت مقادير متفاوت و تصادفي رو بنويسه.

shahmohammadi
دوشنبه 22 اسفند 1390, 01:06 صبح
(چند ثانيه اختلاف در فرستادن پست. 2:27)

اگه می شه یه کم توضیح بدید... :متفکر:

خوب از اول توضيح ميدم:
يك برنامه مي نويسم به اسم prog1.exe.
به اين صورت كه اين برنامه يك تابع مين داره. و يك تابع func رو كه 500 بايت هست رو فراخواني مي كنه. در prog1 اين تابع شامي 500 بايت nop هست.

حالا برنامه اي داريم به اسم creator كه توي اين برنامه گپي هاي مختلفي از prog1.exe رو مي زنيم. و در هر كپي اون 500 بايت رو به طور تصادفي تغيير مي ديم.
همون طور كه مي دونيم هر برنامه اي مثل hello world رو كه كد هاش در داخل مين هستند رو ميشه در داخل يه تابع ديگه نوشت كه مين اون تابع رو فراخواني كرده.

IamOverlord
دوشنبه 22 اسفند 1390, 01:24 صبح
خوب عالیه اما برنامه ی ما exe ی 32 بیتی باشه، یا 16 بیتی، چه کارهایی بتونه بکنه؟ مثلا اگه بخواد با یه Process دیگه ارتباط برقرار کنه از طریق API باشه؟ یا مثلا می تونه سیستم رو Restart کنه؟ یا فایل هامونو پاک کنه؟! این جور مسائل چی؟!

shahmohammadi
دوشنبه 22 اسفند 1390, 01:40 صبح
اگر هر كدوم از مواردي رو كه گفتيد رو از قبل به صورت تابع بنويسيم و در كتابخونه اي جمع كنيم. و برنامه مون مثل فايل ها ي اجرايي ويژوال بيسيك مدام فراخواني هايي از اون كتابخونه باشه به نظرم امن تر مي شه. البته اين نظر منه و ممكنه كه درست هم نباشه.
در مورد اينكه چه امكاناتي بهش بديم بهتره ببينيم كه حالت آرمانيمون تا كجا بايد پيش بره و از چه امكاناتي بايد استفاده كنه.

IamOverlord
دوشنبه 22 اسفند 1390, 09:07 صبح
خوب این به ذهنم نرسیده بود خیلی عالیه... باید توابع تا جای ممکن کار های ساده انجام بشن و کاری های پیچیده خود به خود تولید بشن.
ولی یه مسئله ای. این فراخوانی ها چه جوری باشن؟ مثلا اگه ما نام توابع رو به طور رندوم تولید کنه برای فایل، احتمال ایجاد نام درستی که تابعش وجود داره خیلی کمه. باید طوری باشه که هر رشته ی رندومی یه معنایی داشته باشه و مجموعه ای از دستورالعمل ها رو حتما اجرا کنه. جوری نباشه که اکثر رشته های رندوم بی معنی و زائد باشن... برای این مسئله راهی به ذهنتون می رسه...؟!

shahmohammadi
دوشنبه 22 اسفند 1390, 12:18 عصر
نام تمام توابع رو به صورت f0001 و f0002 و... بنويسم تا وقتي رندوم توليد مي شند معني دار باشند.
در مورد حلقه ها و كنترل هاي شرطي هنوز كاري نكرديم.

IamOverlord
دوشنبه 22 اسفند 1390, 18:20 عصر
خوب با این حساب از خود ساختار زبان ماشین تقلید کنیم، به نظرم بهتر باشه.

shahmohammadi
دوشنبه 22 اسفند 1390, 19:04 عصر
خوب با این حساب از خود ساختار زبان ماشین تقلید کنیم، به نظرم بهتر باشه.
يعني كلا بي خيال توابع كتابخونه ايمون بشيم؟

به نظرتون مي شه كه اين عبارت هاي كنترلي رو هم به صورت يه تابع پياده سازي كرد؟

IamOverlord
سه شنبه 23 اسفند 1390, 22:39 عصر
نه منظورم اینه که اگه می خوایم توابع با شماره باشن و حلقه و از این جور چیزا هم داشته باشیم، اما نه به صورت سطح بالا، گفتم ساختار مورد نظرمون، همون زبان ماشین هست. چون فراخوانی ها با Call هست که یه عدد می گیره، متغیر ها هم عدد می گیرن، مقایسه ها هم نتیجه شون با اعداد Flag ها می شه، یا پرش ها هم تغییر عدد هستن. خوب همین مناسبه برا کارمون دیگه... ولی می گم به جای فایل exe.، فایل com. تولید کنیم؟ می شه به نظرتون؟

shahmohammadi
سه شنبه 23 اسفند 1390, 23:14 عصر
ميشه توليد كرد. ولي چرا؟

IamOverlord
سه شنبه 23 اسفند 1390, 23:39 عصر
چون ما نمی خوایم موجوداتمون 3D Max یا Photoshop باشن! خیلی هم ساده با هم ارتباط برقرار کنن می شه. بدون این که لازم باشه API استفاده کنن یا کارای دیگه بکنن... :متفکر:

shahmohammadi
چهارشنبه 24 اسفند 1390, 00:03 صبح
يه فكري هم براي متغير ها و رشته ها بايد كرد.

IamOverlord
چهارشنبه 24 اسفند 1390, 00:18 صبح
اگه فایل com. بخوایم تولید کنیم، متغیر ها و رشته ها قاطی کد هستن و با آدرسشون قابل دسترسی هستن. اما مسئله ارتباط 2 تا فایل com. هست، این خیلی پیچیده می شه برای دو برنامه؟! ما می خوایم این کارا سریع تر باشه. هر چه قدر فکر تعداد حالت های کار و احتمالات می افتم بیش تر دیوونه می شم! آخه ما چه قدر باید صبر کنیم که یه فایلی مثل آدم زندگی کنه...!

shahmohammadi
چهارشنبه 24 اسفند 1390, 00:32 صبح
وقتي فايل creator نسل اول فايل ها رو توليد كرد، نام هاشون طوري باشند كه بشه فهميد نسل اولند. بعد اينها بتونند با نام هايي كه مشخصه ارتباط برقرار كنند. و وقتي دو تا فايل نسل اولي فايل جديدي رو ساختند اين فايل جديد از روي اسمش بشه فهميد كه نسل دوم هست. بنابراين بتونه راحت فايل هاي هم نسلش رو پيدا كنه.

IamOverlord
چهارشنبه 24 اسفند 1390, 00:35 صبح
وقتی قراره یه فایلی یه فایلیو بسازه خودش نام اون رو تعیین می کنه، پس ما قراره تا حدودی دخالت داشته باشیم؟

shahmohammadi
چهارشنبه 24 اسفند 1390, 00:40 صبح
ساختن يه فايل از طريق تابعي خواهد بود كه در كتابخونه مون هست. شرايطش رو هم اونجا مي نويسيم. بله به طور غير مستقيم و از اين طريق دخالت كرديم.

shahmohammadi
چهارشنبه 24 اسفند 1390, 00:51 صبح
راستي به جاي استفاده از روش پست 24 و 26 مي تونيم در اين مورد دخالت هم نكنيم. به اين صورت كه فرايند توليد فايل جديد در داخل يك حلقه مثلا1000 تايي صورت بگيره و بالاخره يكي از اينها ممكنه موفق باشه. همونطور كه در زندگي طبيعي هم اين اتفاق مي افته و از بين هزاران سلول كياهي يا جانوري فقط تعداد كمي به مرحله بلوغ مي رسند. اين طوري با وجود اينكه ما دخالتي نكرديم ولي ممكنه به نتيجه برسه.

IamOverlord
چهارشنبه 24 اسفند 1390, 15:01 عصر
اگه دخالت نکنیم که باید چند هزار سال بگذره تا یه چیزی از آب در بیاد! اما اگه دخالت کنیم ... :متفکر:
ببینید این رو می پسندید که God.exe در یه حلقه ی Loop بی نهایت یه سری فایل رندوم در پوشه ی Universe تولید کنه (Body01 ، Body02 ، ...)، بعد در عین حال Ghost.exe ، اون Body ها رو یکی یکی کنترل کنه. هر Body شامل یه سری اطلاعات هست که نحوه ی اجرای اون رو توسط Ghost.exe مشخص می کنه. و Body مستقیما کاری نمی کنه، بلکه از Ghost.exe می خواد. یعنی یه عالمه فایل exe. تولید نکنیم، بلکه یه عالمه Body تولید کنیم که Ghost.exe دونه دونه شون رو رسیدگی می کنه...

Cancer
چهارشنبه 24 اسفند 1390, 20:13 عصر
سلام سلام سلام.
ببخشید وسط بحثتون. ولی:
راستش با عنوان تاپیک خیلی حال کردم.
یه دنیای مجازی؟ یعنی یه چیزی تو مایه های ماتریکس؟ (یعنی فقط می خواین واقعیت رو بسازین؟)
یکم زود نیست که بحث عملیش رو شروع کردین؟
یعنی منظورم اینکه از حالت تئوریش به نتیجه رسیدین؟ یعنی واقعاً چند درصد احتمال داره که چنین چیزی حالا نمی خوام بگم که پس از مدت زمان قابل محاسبه ای، (اصلاً شما فکر کن که تا یه روز مونده به پایان دنیا) به جواب می رسه؟ اصلاً کلاً به جواب می رسه یا نه؟ چرا باید به جواب برسه؟ چرا نباید به جواب برسه؟
ولی در کل ایده جالبی بود.:متفکر: دمت گرم.

IamOverlord
پنج شنبه 25 اسفند 1390, 10:13 صبح
سلام.
از لحاظ تئوری به نظرم قطعا اگر زمان کافی داشته باشیم شاید همون مقدار که برای به وجود اومدن حیات در دنیا لازم بود!!!، موجودات هوشمند به وجود میان. ولی در مورد اختیار و روح و از این مسائل: می شه فکر کرد که روح های واقعی از طریق پورت USB به سیستم وصل شدن :دی
ضمنا اون ایده اصلیه که قطعا به زمان خیلی خیلی خیلی ... زیادی نیاز داره. به خاطر همون دلایلی که مطرح شد. اما اگه یه دستی تو کار ببریم شاید یه حالی بکنیم!

shahmohammadi
پنج شنبه 25 اسفند 1390, 12:30 عصر
با سلام.
به نظرم به جاي كام بهتره از همون exe استفاده كنيم. به اين دليل كه اگه مساله ساده بودن هست كه فايل هاي exe رو هم مي تونيم ساده بنويسيم. به علاوه با فايل هاي كام نمي تونيم توابعمون رو فرا خواني كنيم.

خوبه توابعمون رو در يك دي ال ال قرار بديم و با دستورات call در فايل اجرايي exe فراخواني شون كنيم.

IamOverlord
پنج شنبه 25 اسفند 1390, 12:46 عصر
من هم با همون ایده ی شما موافقم، فقط گفتم Ghost.exe رو به جای DLL بذاریم و Body ها رو به جای exe ها، چون ساختار فایل های exe اون قدری پیچیده هست که با تولید محتویات رندوم تقریبا نشه فایل سالم تولید کرد...

IamOverlord
پنج شنبه 25 اسفند 1390, 18:13 عصر
می گم قبل از عمل بیاید به طور کاملا دقیق احتمالات رو محاسبه کنیم...:متفکر:

یوسف زالی
یک شنبه 28 اسفند 1390, 13:09 عصر
سلام.
چند تا مطلب هم من اضافه کنم:
تکامل مخصوصا در جهش های ژنی کاملا وابسته به شانس هست.
حتی در سطوح زیراتمی می تونید درباره تونل زنی مطالعه کنید و ببینید که اونجا زندگی ذرات چطوره. پس "تصادف نداریم" نداریم!
دیگه اینکه اگر hello world بشه 2 کیلو بایت ، با تمام سرآیند ها و ارجاع ها می شه اونقدر.
بلکه کدهای اجرایی اون 10 تا 20 بایته.
دیگه اینکه صد در صد بسیار زود تر از طبیعت به نتایج جالب می رسیم. قدرت پردازش طبیعت خیلی کنده.
یادم که یه برنامه در این خصوص دیده بودم که چند تا باکتری خلق می کردید و میگذاشتید برا خودشون زندگی کنند، بعد از مدتی نتایج جالبی بدست می اومد.
اما در هر حال فکر می کنم که ایده کلاس خیلی ایده شبیه ای هست.
یک بار یک شی از کلاس پایه ایجاد می کنید که در محیط شبیه سازی شده زندگی می کنه.
این کلاس می تونه نر و ماده باشه یا نباشه.
صفاتی رو بهش منتسب می کنید و باقی ماجرا.
اما نکته مهمش قسمت "دارای متد های جدید" شدن هست.
مثلا موجود اول فقط یک متد داره اما شی n ام از نسل همون موجود ممکنه 2 تا متد داشته باشه و متد به ارث برده شده هم تغییر می کنه.
انتخاب طبیعی خوب هست.
می شه رندوم گرفت..

IamOverlord
یک شنبه 05 مرداد 1393, 13:32 عصر
سلام دوستان!
...یادش به خیر!
امروز این مطالب رو دیدم، با توجه به موضوع تاپیک این رو می ذارم، فکر کنم براتون جالب باشه!:
http://en.wikipedia.org/wiki/Gene_expression_programming
http://en.wikipedia.org/wiki/Genetic_programming

abbas.oveissi
چهارشنبه 08 مرداد 1393, 22:58 عصر
سلام دوستان!
...یادش به خیر!
امروز این مطالب رو دیدم، با توجه به موضوع تاپیک این رو می ذارم، فکر کنم براتون جالب باشه!:
http://en.wikipedia.org/wiki/Gene_expression_programming
http://en.wikipedia.org/wiki/Genetic_programming

چه جالب ، تازه این تاپیک رو دیدم.من یک زمانی به این قضیه فکر میکردم :لبخند: البته فکر میکردم که اینقدر خنده دار هست که کسی دنبالش نباشه و هیچ وقت به کسی نگفتم :لبخند: همیشه بهش فکر میکردم همچین چیزی درست کنم و بذارم مثلا چند هفته اجرا باشه ، ببینم بعدش چی میشه :لبخند:

الگوریتم ژنتیک دقیقا بخش تکامل رو اجرا میکنه،من بعد اینکه یاد گرفتمش به قدرت خدا پی بردم :لبخند: واقعا جالبه که با دو عمل Mutation و Cross Over و در آخر الگوریتم های Selection به این خوبی نسل های جدید پیشرفت میکنند.اولین بار که دیدم اینقدر هیجان زده شده بودم که نگو!!!!! :لبخند: