اقتباس:
المشاركة الأصلية كتبت بواسطة Mazen
مرحباً،
هذا مثال بسيط جداً كنت قد بدأت به قبل شهرين تقريباً لاتعرف اكثر عن استخدامات بعض اساليب نظرية التطور. البرنامج سهل جداً واستخدمته من كتاب وبتعديلات طفيفه.
الفكره سهله جداً، هناك مجموعة حروف مبعثره وضعتها في variable اسمه geneSet:
"fdjQZjsfHewCotruyyteHerutevmlzZvcnxbS Vxcvn!bX ajkdfkjsdowewlwDeop oBErwrvpPoFoliqituruttFWjujgtdRfNsuiIgjlodfjg!dnno nM!zmxonvxcohU!GvuOdhfllEhaq werHeznmznxbcAvaslekJjaghdTyeru!wiqYJpoyer KtwsdELjd"
سيتم الانتقاء من هذه الاحرف العشوائيه ما هو صالح للبيئه والابقاء عليه، ورفض ما غير صالح.
تعريف ما هو صالح للبيئه بسيط جداً... اي شيء يتوافق مع الجمله: "Hello Evolution!". يعني، اي "مولود"، واي طفل اقرب الى تلك الجمله سيستمر وبعتبر صالح للبيئه واي مولود يبتعد عن تلك الجمله سيندثر.
طريقة التولد من جيل الى اخر عشوائيه، وتتم بخلط حروف الاب مع الحروف المتوفره بطريقة عشوائيه، الانتقاء يتم بعد الخلط
هذه صورة البرنامج في لغة بايثون
https://i.imgur.com/FCg1VK5.png
والان لنلاحظ معاً ما كتبه البرنامج
ابتدأ بهذه العباره العشوائيه:
duvhBjsrsVwa!ebb
وبعد عدة اجيال ظهرت عبارات اكثر ملائمه للبيئه...:
https://i.imgur.com/YsbHWQc.png
اتمنى ان يساعد هذا البرنامج البسيط على اعطاء مثل بدائي...
|
عزيزي مازن ، الفكرة ملهمة و مثيرة. لقد ادخلتني في متاهة من التأملات.
افهم ان البرنامج احتاج الى 1766 جيل للحصول على المطلوب.
ولدي سؤال في هذا المجال اود لو عرضناه للنقاش.
هل عدد الاجيال هذا هو اقل ما حصل عليه البرنامج للوصول الى العبارة الهدف؟
كم من الوقت استغرقت عملية الوصول للهدف ؟
و كم جزءاً من الثانية كان عمر الجيل الواحد ؟
هذا الاسئلة بإجوبتها قادتني للتأمل في فرضية بسيطة ، بحسب هذا التأسيس سيكون عمر الجيل الواحد عاملاً مهماً في ظهور التطور بشكل اسرع.
اعني ان التطور صعب الملاحظة في الاجناس طويلة العمر ، لكنه سيكون اكثر وضوحاً في الاجناس ذات العمر الاقصر كالحشرات مثلاً. و كلما قصرت دورة حياة الكائن الحي قيد الملاحظة ، كان الوصول الى hello evolution اسرع تماماً كما في تجربتك الرائعة.
السؤال الحقيقي : هل حصل تطور ملموس في الكائنات قصيرة الحياة ؟