بسم الله الرحمن الرحيم اليوم ان شاء الله احنا
بنبدأ موضوع جديد تقنية أخرى من تقنيات اللي ممكن
تستخدم في الذكاء الاصطناعي التقنية هذه معروفة
بالاسم العامل هو evolutionary computing أو
evolutionary computation و أشهر مثال عليها أشهر
تقنية تحت هذا الإطار اللي هو ال geneticalgorithm
أو algorithms تمام في الموضوع هذا هيمتد معانا الى
two slide ملفين يعني في الجزء الأولاني بناخد اللي
هو الفكرة الأساسية عن قالية عمل هذه التقنية ال
genetic algorithm ونشوف عليها example وفي الجزء
التالي بنشوف استخدامات أخرى للتقنية هذه بس في
الأول احنا بناخدفكرة عن الـ Basic Mechanism
القالية أو الخطوات الأساسية للـ Genetic Algorithm
فبداية الاسم Evolutionary Computation من Evolution
Evolution يعني هو تطور تذكر منظرية التطور و داروين
والكلام هذا؟ جاي يعني الـ Genetic Algorithm جاي
على هذا المبدأ مبدأ إيه؟في ال computing إذا كان
عندي مثل و المثل هذه صعب أن أحط لها solution
بخوارزمية محددة الخطوات احنا ممكن نتبع ال genetic
algorithm الخوارزمية الجينية الفكرتها بتقوم على
أساس أن احنا بنضع solutions عديدة كلها عشوائية
وبنترك ال algorithm تعمل نوع من الانتخاب الطبيعي
ما بين هذه ال solutions إتراشن
ورا إتراشن تبدأ ال algorithm اتحسن في ال solutions
وصولا إلى ال solution اللي هو المطلوببمعنى أنه أنا
ما بحط steps محددة لحل المسألة لأ باجي بقول okay
إذا كان عندي المسألة هيك معناه تخليني أحط
solutions عشوائية و بعدين أقيم ال solutions هذه
أاخد أفضل مجموعة أروح أعملعليها نوع من ايش ال
reproduction اللي هو التكاثر او التزاوج أطال لها
solutions جديدة ال solutions الجديدة هذه على فرض
انه ببينها ان هي جاية من parents خليني أقول من
أباء يعني او من generation كويس فهتطلع ابنها كويسي
الأبناء دولة في ال generation اللي بعد هقولي أحفاد
أفضل وصولا اليش وصولا اليهنشوف مثال على هذا الكلام
مثال بسيط
على هذا الكلام فانا هتجاوز ال introduction و ادخل
على طول على ال genetic algorithm و ليه اتعملها هذا
الكلام اللي في المقدمة اللي هو التأصيل النظري لمن
وين أجا الموضوع ال evolutionary computing
أخد مثال بسيط على هذا الكلام هذه
معادلة بسيطة احنا لو .. لو بدنا نسأل السؤال متى
بيكون قيمة المعادلة دي أعلى ما يمكن يعني f of x
متى بتكون أعلى لو أنا جيت أخدت ال values تبعت x
تطلوح من مثلا واحد إلى عشرين إلى مية ورصبت ال
curveفايتوا عندي هنا ايش المعادلة مرة تانية؟
خلّيني اكتبها على اللوحة 15x-x² لما
بتكون x بالساوية 0 صح؟
f of 1 بالساوية صح؟
F of 2 F
of
6
خمسة في خمس عشر في ستة تسعين صح نقص جدش بطلع fifty
four تقريبا هذه اربعة و خمسين هنا هذه ستين اقل من
ستين شوية اليان كفه في سبعة جدش سبعة في .. زيد على
هذه خمس عشرمية و خمسة ناقص تسعة و أربعين ستة و
خمسين ايش ستة و خمسين لا ستة و ستين ستة و ستين ستة
و ستين صح حياته بتطلع لسه okay ف بقفه في تمانية
تسعة و ستين تسعة و ستين تسعة و ستين6 او 6 او 6 او
6 او 6 او 6 او 6 او 56 او 56 او 56 او 56 او 56 او
56 او 56 او 56 او 56 او 56 او 56 او 56 او 56 او 56
او 56 او 56 او 56 او 56 او 56 او 56 او 56 او 56 او
56 او 56 او 56 او 56 او 56 او 56 او 56 او 56 او 56
او 56 او 56 او 56 او 56 او 56 او 56 او 56 او 56 او
56 او 56 او 56 او 56 او 56 او 56 او 56 او 56 او 56
او 56 او 56 او 56 او 56 او 56 او 56 او 56 او 56 او
56 او 56 او 56 او 56 او 56 او 56 او 56 او 56 او 56
او 56 او 56
او 56 ا
مفروض يعني خلاص معايا .. معايا اكتر من هناك مفروض
تنزل كده تصير؟
خمسين خمسين اه بدت تنزل عشرة نعم
مش كده؟ خمسين؟ اربعة؟ اربعة و خمسين الوين خلاص
واضح انه بدأ بتنزل وواضح ان الكيرونا بتنزل احنا
الان نستخدم
هذا كمثال في ال genetic algorithm يعني
احنا عمليا نقدر نطلع القيمة اللي عندها بالظبط قداش
ال F of Xبتكون maximum بتكون أعلى ما يمكن تمام
اللي هي النقطة ال peak اللي هنا بنقدر نحسبها عادي
بطريقة هادة او بنحسب ال derivative و بنشوف ان ال
derivative بتساوي zero المشتقة بتساوي zero و عند
المشتقة بتساوي zero ال X هي بتكون أعلى صحيح لأنه
ال male ال male هذابيكون يساوي 0 عند ال maximum
عند ال maximum مظهور فبنحسب وين المستقبل يكون 0 و
بنطلع ال X بس احنا بنستخدم ال genetic algorithm
لتوضيح فكرة ال genetic algorithm فإيش اللي احنا
بنروح نسوي بيقول احنا ليش .. إيش اللي بنبحث عنه
قيمة X قيمة X اللي عندها F of X بساوي maximum
فاحنا مش عارفين القيمة X فبدنا نروح نحط قيم عشوية
قيم عشوائية ل X ونقعد ناخدهم في عملية evolutionary
عملية انتخاب طبيعي او evolutionary fitness فهنا
ايش معطيلك؟ معطيلك ال X1, X2, X3, X4, X5, X6
ماياخد ستة random solutions ال solutions هذه
random كل واحد منهم له قيمةعشرية معبرة عنها بيش
بال binary احنا الآن ال binary string هذا بنسميه
chromosome على نفس التسمية في ال biology
chromosome احنا عندنا نبحث .. نبحث .. نبحث .. نبحث
.. نبحث .. نبحث .. نبحث .. نبحث .. نبحث .. نبحث ..
نبحث .. نبحث .. نبحث .. نبحث .. نبحث .. نبحث ..
نبحث .. نبحث .. نبحث .. نبحث .. نبحث .. نلأن حطينا
أرقام عشوائية و قيم عشوائية القيم هذه ربما مافيش
فيهم واحد الان هو solution لكن لما نجربهم و ناخد
أفضل مجموعة منهم و نعمل تزاوج من هدول لأفضل مجموعة
نتقدم ربما الخطوة للأمام و بالتدريج نصل ل best
solution الخطوة الأولى أن أحطبنحط random solutions
هذي بنمثلها على شكل binary على شكل string of
binary values اللي هم ال ones و ال zeros هذي ليش
بيصير؟ بدنا نعمل تقييم لهم نشوف مين منهم الأحسن،
إيش عن الأحسن؟ يعني اللي بعطيني قيمة هذا f of x
هذا اتناشر،
إيش بيعطيني؟ لما أحط of f of 12راحظوا أنا وقفت هنا
بالتسعة بس لا في values أخر كتير احنا ما جربناها
عشان فهذه الاتناش واحد من اللي ما جربناهم مش ايش f
of 12 بالثانية تمام جديش بطلع ستة و تلاتين okay
هذه الآن هي القيم تبعت f of x اللي لو احنا دخلنا
كل واحد من ال x هذه صح الان مين الأفضل الأعلى صح
لإن احنا هيكل مثلا يد مدنقل أعلىفهدولة أفضل اشي
هدولة أفضل اشي احنا الآن الخبر التاني في ال
genetic algorithm ناخد الأفضل ناخد الأفضل و نعمل
منهم new generation هدولة first generation الجيل
الأول نطلع منهم جيل جديد ستة أخريات كيف ممكن نطلع
جيل جديد من الجيل الأولاني تزاوج يعني مثلا انا لو
جيت اخترت أحسن تلاتة من هدولة اللي هم مينهذا وهذا
وهذا صح هذول أحسن تلاتة هذول أحسن تلاتة لو طلعت
منهم كمان تلاتة لو جيت عملت تزاوج ما بين كل اتنين
مع بعض أخدت هذا وهذا لأ هذا وهذا أخدت التلاتة
هذولة وعملت اللي هم هذولة صح أنا الآن بتعامل بس مع
ال binary representationوعملت تزاوج بشكل او اخر
انا قلت مثلا هذا بدي اخد مع هذا و اطلع منهم a
child جديد بعدين هذا مع هذا اطلع كمان child اصلا
two children بعدين هذا مع هذا اطلع child تانت
تعرفي ان التلاتة الأولانين اللي هم ال best و تلاتة
طلعين منهم children الشداد هذول انا ماعرفش ممكن
يكون احسن من أبائهم و ممكن يكون أسوأ هدخلهم الآن
على ال generation الجديدو أقيمهم و أعيد الكرة و كل
مرة بعمل ايش بعمل reproduction عادة تكاتر يعني و
بعمل تقييم و دايما ده ما بنتخب لحد دي ات امتى ..
لحد دي ات الاجي ان مافي تحسن يعني اللي بنت .. اللي
.. اللي .. اللي .. اللي بطلع معايا ال fitness تبعه
مافيش يعني باخد الفرق ما بين ال fitness تبع هذا
الجيل و ال fitness تبع الجيل اللي جابل ضئيل المعنى
ده كأنا وصلت لأفضل ما يمكن صح مافي داعي أنا أستمر
أكتر من هيك في عملية ال reproduction و باخد أفضل
واحد من اللي طلع معايا في هذا الجيل شيف كزوج بيسير
على values distinct يعني مثلا لو ال value طلعت 56
كرهت عندي مرتين هل هاخد اربعة values اه مفترضولا
.. بس بأخد قيمة .. بس بأخد قيمة .. بس بأخد
قيمة .. بس بأخد قيمة .. بس بأخد قيمة .. بس بأخد
قيمة .. بس بأخد قيمة .. بو كانوا هم من المجموعة
الأفضل باخدهم .. باخدهم أه لأنه مش مهم إن هم
متساويين في ال fitness المهم إن هم two different
.. two different solutions صح؟ احنا الآن إذا ..
يعني عشان نبلور الفكرة هذه بشكل أفضلفاحنا بدنا
نيجي نتبع المثال اول اشي انه انا في نقطة مهمة
بقولها بدي احسبها ان انا مابديش انظر الى ال
fitness هذا كما هو بدي احسب حاجة اسمة ال fitness
ratio ال fitness ratio لو انا جيت جمعت اجمالي ال
fitness كلهم هذا اجمعه بطلع على ما اعتقد قداش مية
و128 أظن 128 انا
باختصار بدي اخد 224
224 انا باخد كل واحدة منكوا ثقة بجسد كل واحدة على
هذا ال totalيعني ال 16.5 دي هي عبارة عن قسمة 36
على المجموع 44 على المجموع وبعدين 20 فانا باخد ال
ratio على ان هو معيار ال fitness ايش يعني ال
fitness يعني الجودة مين احسن من مين جداش هو
بالنسبة
للمجموع جداش هو حقق fitness بالنسبة للمجموع okay
فعندك انت الاتنين هذولةطبعا جداش هو هذا جليل بيطلع
ال ratio تبعه جليل فاحنا بناخد ال fitness ratio مش
ال fitness نفسه ال fitness ratio اللي هو قيمة ال
fitness تبع ال chromosome هذا او ال solution هذا
على الإجمالي fitness ال fitness ال total fitness
بيطلع على ال ratio بأخد ب .. ب .. بستند إلى هذا في
اني اختار بختار الأفضل بناء على ال ratio اللي قال
ايش بعدين كان بيصير و بيصير في عندي بناء على هذا
الأمر
نختار من هذه المجموعة الأفضل
على أساس ال ratio عملية
الاختيار في الطبيعة لا تكون دائما على أساس الأفضل
لكن جودة ال solution هي عامل أساسيطريقة الـ
Roulette Wheel Selection أننا نعمل
راندوم نمبر راندوم نمبر هذا إذا جاي في ال range
تبع
أي واحد منه شوفوا احنا لما حولنا ال percentage
الذاتي إلى ال wheel صار عندي القيم الكبيرة مااخداش
مساحةهي possibility ان انا اخدها او انا اخدها
بالظبط فانا لو اعمل generation ال random number ما
بين ال 0 و ال 100 فاحتمال انه يقع في هذا المساحة
اكبر من انه يقع في هذا المساحة صح فاحنا عملية
اختيار ال solutions تجيش مباشرة منالراتيوز تبعدتها
إلا لأننا نفعل شيء اسمه روليت ويل روليت ويل هي
ببساطة شديدة كأن الكورة اللي بيلفوها في الروليت
بيلفوها و بستنوا وين تجفوا فهذا نوع من ال
randomization ولا لأ فهنا we can simulate الموضوع
هذا بإنه we generate a random number بنشوف ال
random number انه واقع في أي range ال areaأو ال
area اللى بيجعى فيها ال random number بناخد ال
solution تبعها يعني اذا random number طلع مثلا 64
64 طبعا هي 0.1 وين بيجي بيجي هنا بيجي في المنطقة
هذه صح بعد هذه الخمسين ربما هذه الخمسين وهذه ال ..
فبيقع هنا وقع هنا يجب ناخد مين X5 okay تمامفاحنا
هنعمل randomization هذا معناته أنه ممكن واحد من
الضعيفين يطلع بس إيش احتماليته أقل من واحد من الاش
من الكبار من ال .. اللي حصتهم أكبر إذا هو إيش هو
بنحط الأرقام رندمي تمام؟ أي أرقام؟ أرقام ال F of A
ال solutions ال solutions أنا سميتها solutions
تمام بال solutions بنحطها رندمي تمام بنقيمها
بنطلعني بنطلع تمام؟ بنقيمها على أساس المعادلة ال
.. ايوة الفتنس نعم باخد ال minimum أحسن بعمله
تزايد؟ لأ
الأحسن ليس الميار المباشر بروح بعمل random number
generation وبناء على ال random number generation
بأخد ال .. بأخد ال .. طب بعدين احنا بنحط أولا ال
solution في random و هنا برضه يكون random و ندور
على حد ثانيلأ احنا بنختار .. هي عملية كلها random
عملية random بس بتعطي فرصة أكبر .. معاهم؟ مافي
فرصة عالية .. هتقولك شغل بس .. احنا في الطريقة هذا
على الرغم من أنه في عندنا randomization في الأمر
إلا أنه في فرصة أكبر لمن؟ لل solutions اللي more
fit يعني هذا X كمسة ال fitness له 25 عالي فرصته
هيحصته من ال .. ليش؟ من ال wheelففرصته أكبر حتى
على الرغم من وجود randomization بس فرصته أكبر في
أنه يطلع على ال generation اللي اللاحقة صح؟ أنا
كان ممكن أعمل و أنا مغمل أاخد الأفضل دايما أاخد
الأفضل بس بدنا نحط أنصر ال randomization لأنه هذا
وقع الأمر في الطبيعة أن حتى اللي مش أفضل ممكن يصمد
ويترحل لل generation اللي بعدهنا ممكن ماتبينش
viable بس لما يكون عندك معادلات فيها تلت .. تلت
مجاهيل و بدك تحل مشكلة زي .. زي simplex method
مثلا .. تتذكر .. تتذكر .. اذا .. اذا تتذكر و احنا
بنحكي في السياسي لما كنا بنحكي في اللي هو ال .. ال
hill climbingو قلنا انه ممكن تجعل في ال local
minima ماتصلش ل global minima ايش المخرج انه انا
اعمل randomization عشان اخرج من ال local minima ان
اختار اي واحد من ال possible solutions اللي حواليه
حتى وإن كان سيء و اخش فيه علشان ربما يدخلني على
مسار يطلعني ل solution احسن من ال local اللي انا
كنت وجده فاحنا هنا ال randomization عشان نحط هامش
ولو ضيقللـ solutions اللي رديئة نعطيها فرصة لربما
ييجي من وراها offspring يعني ذرية صالحة ذرية هي في
حد ذاتها سيئة رديئة لكن لربما يطلع منها لما انت
عملت تزاوج مع .. واضح؟ واضح الفكرة؟
الان ما بنحكي في التزاوج الان هدولة اللي بنختارهم
عشان نأسس عليهم ال generation اللاحق اختارناهم على
اساس مش بس ال fitness لحاله او ال fitness ratio
لحاله لأ اللي على ايضا فرصته في ال roulette wheel
في ال roulette wheel اه تمام الان الان
هدولة ال solution الستة وهذاWe have an initial
population of 6 chromosomes الان ده اعمل new
generation برضه بتكون فيه 6 chromosomes فبدي اجيب
.. بدي اختار pairs اللي اعمل منها تزاوج عشان اطلع
.. okay 6 تانين لما انا بعمل تزاوج في يده هات
اسمها crossover crossover بجيب two parents هات two
parents two chromosomes P1 وP2
طبعا k-ation هو عبارة عن binary strings خلّي
المعادلة يهزم هنا طبعا
نفس القول احنا اربعة bits ولا لأ بس نفترض انهم
اكتر من ذلك اتر اتر اتر اتر اتر اتر اتر اتر اتر
اتر اتر اتر اتر اتر اتر اتر اتر اتر اتر اتر اتر
اتر اتر اتر اتر اتر اتر اتر اتر اتر انقطة انقسام
بروح ببدّل بطلّع يعني من هدول بطلّع two children
two children يعني الزوج بيطلّعلي زوج مش بيطلّعلي
واحد ال two parents بيطلّعولي ايش two children
okay اللي هو بيكون هذا الجزء يعني اقول مثلا انا
عندي 00100100
لازم يكون جزء اخر بالصحيح لازم طبعا لازم ال .. لأ
جزء الواحد الواحد اللي يقسم من أي مكان بالصحيح اه
بس ان انا عند نفس النقطة انا بتقسم عند التالتة
لازم هنا اقسم عند التالتة صح فهذا الان ال try
addition بيكون zero one one و بعدين التلاتة
التانية اللي بجيب تتجمد ايه one one zero ايوة ايه
zero one one zero تمام شق من ال pyramid الأولالشق
الأول من ال parent أول والشق التاني من ال parent
التاني والعكس عند ال child الآخر هذا بنزل زي ما هو
و باخد الشق التاني من مين أنا
هيك عملت crossover عملت generation ل two new
childrenمن الـ two parents الأصليين باستخدام
Microsoft Word عملية random صح؟ مالهاش أي معنى
سواء إنه نأمل إن بعض الخصائص الجيدة الموجودة في
هذا ال parent تجعل
معها خصائص جيدة من ال parent الأخر تمام؟هو هذا
أصلا اللي بيصير في ال metabolism أظن أنه يسميه و
لا إيش ال chromosomes أنا أناس الكلام هذا في ال
biology مش بيصير انقسام ال chromosomes و بعدين
تلتقم تاني فعشان بهذا الطريقة تختلط الجينات من
الذكر و من الأنطة مظبوط تمام فبنقول احنا الآن هذا
ال generation الجديد الستة الجداد اللي هنولدهم
بهذه القالية
مورفزم مورفزم مورفزم
مورفزم مورفزم مورفزم مورفزم مورفزم مورفزم
مش مشكلة تمام انا الآن بطريقة هذه انا اخدت two
parents ثم another two parents و كذلك انا اتنين
تانين و عملت منهم a new set of children بنفس العدد
اللي هو إيش ستة كانوا في الأصل صاروا ستة هذا جي
اتنين هدولة كانوا تابعين ل generation one لان
هدولة يخلصوا في يوم بدي اعمل evaluation عليهم او
يعني أحسب ال fitness تبعتهم عشان أشوف مين الأفضل
في هال generation عشان أعيد الكرة من جديد و بضلني
أعيد بقول مرة ورا مرة إلى أن اشهر إلى أن ألاقي ان
ال errors او ال
fitness تبع هدوله ماهيختلف كتير عن ال fitness تبع
اللي جابلهم يمكن مافي تحسن و خلاص بوقف مافي داعي
أن أنا أستمر إلى ما هدففي شغلة أخرى برضه اللي
هحكيها انه كنا نقول ال cross over هي القالية
الأساسية لتوليد ال children في شغلة أخرى غير ال
cross over ليه ال mutation mutation يعني طفرة
بالعربي يعني ان واحد من الجينات هذا ال chromosome
بتسمي كل واحد من هذول الجين واحد من الجينات انه
بشكل عشوائي يتغير يعني الواحد يصير zero ال zero
يصير واحد تمام؟ برضه هذا randomized يعني بيجي على
أولابنجي على هدولة الست بعد ما عملناهم بال
crossover بنقول هذا نعمل عليه mutation ولا لأ بروح
و بنحط random number اذا random number أجى أعلى من
او أقل من ال probability تبع ال mutation بننفس
ماجهاش بنسيبه يعني بنعمل selection لواحد من هدولة
او لمجموعة من هدولة نعملهم ايشفإذا وقع الإختيار
على أي واحد منهم بنروح برضه راندمي بناخد واحدة من
ال genes و بنجلبها ففي عندنا احنا في عندنا ايش أنا
توجهلت قلنا ال probability تبعت ال mutation ايش
عندنا probability يعني انا بحط احتمال مثلا
بعمل generational الرقم إذا الرقم هذا وقع أقل إذا
أنا واقف الآن هنا وعملت random generation وطلها
الرقم أقل من هذا أو يساوي يبقى الاختيار وقع إذا
طلها number أكبر من ذلك يبقى ما وقع الاختيار على
هذا الرقم هذا الرقم كل ما جال كل ما زهر كل ما جلت
احتمالية حدوث الاشياء يعني لو أنا عملته خمسين في
الميةProbability of mutation اذا كنت خمسين و جيت
هنا و عملت random number ايش احتمالية ان ال random
number يطلع اقل من الخمسين احتمالية 50% يعني فرصة
هذا ان يعمله mutation fifty fifty كل واحد منهم
فرصته fifty fifty كل ما زغر الرقم كل ما زغرت الرقم
الكلمة جلّت فرصة الوقع و أنا أصلا فعلا هذا اللي
بديه أنا مابديش أعمل mutation عليهم كلهم أنا بدي
ال mutation ده لأنها طفرة أصلا ايش يعني طفرة يعني
حاجة بتحصل مرة في ال .. rarely very rarely مظبوط
نادر جدا بيبقى ال probability of mutation منخفضة
عشان ما .. مانعملش mutation كثير كذلك الحاجة برضه
ال crossover ال crossoverبينقله probability ايش
احنا قلنا اتوى قلنا انه اختيار انا عند ال
generation الاولانى بدي اختار منه مجموعة عشان اولد
منهم ال جيش تمام هدول المجموعه اللي اختارتهم ال 6
P1 P2 ال parents يعني P3 P4 P5 P6 تمام
أنا الآن بدي أعمل crossover بظمني two parents بدي
أختار من هدول ال two parents اتنين أعمل لهم
crossover لما أعمل crossover هيطلع معاه two
children C1 و C2 صح؟ مين اللي أختارهم أعمل بينهم
أعمل لهم crossover هل أجي على كل اتنينالأول
والثاني والثاني والثالث والرابع الرابع الخامس
والسادس زيك لأ نعملوش هيك بطريقة هذه ليش بنقول أنا
الآن بدي .. أنا عند هنا صندوق ل cross over بسميه
أنا صندوق ل cross over ال box هذا بتحط فيه اتنين
واطلع منه ايش؟ two children صح؟ مين اللي بنخشه في
الصندوق؟ بدي اختار برضه من هدولة بشكل عشوائي في
حاجة اسمها probability of crossoverباردو كمان ايش
بتبقى عالى يعني او بتبقى اعلى من ال mutation ايش
معنى هذه probability انه هل هل اختاروا ولا مختاروش
طبعا اذا نعمل random number generation اذا وقع على
الاختيار بنحطه الان بدنا تاني بنكمل اذا وقع على
الاختيار بنحطه خلاص نعمل cross off الان هذول
بنشيلهم ونختار مرة اخرىبمعنى أخر أن ممكن ال parent
الواحد يدخل مرتين في عملية ال crossover حسب كمان
.. حسب وقالوج عليه ال random .. الاختيار ال random
ولا لأ فانا في عندي اللي هو ال cross
over نعم نطبخ نفس ال procedure اللي فاتتبعديها في
نوع من البروسوفا انا الآن بطور في ال procedure شوي
شوي يعني بقولك حاجة وبعدين بروح بعدل عليها ايش
الخلاصة الان الخلاصة مرة اخرى ان انا اولا بعمل
random generation لل first او لل initial
generation مظبوط بعد كده اول اشي بسوي عليهم بسوي
fitness بحسب جودتهم بدخلهم علىال fitness هذه
المعادلة هي اللى على اساسها انا بدى اقرر من
المناسبين اللى ده بطلها ال fitness ال fitness
value هذا بطلها من ال fitness ratio صح ال fitness
ratio هذا عامل من عوامل اختياره للتأهيل لل
generation القادم بعمل ال roulette wheel علشان
اختارالـ generation الجديد بختار اتنين و بحطهم في
الخطوة صح بختارهم و بدخل معايا في اختار المبدأ
الان هدولة بدي اطلع منهم ال generation الجديد فبدي
اول اشي اطبق ال cross over operation cross over
operation بدي اطبقها مرة وراء مرة و لا حد يكتمل
عندي ستة اه يكتمل عندي ال generation بدي اطبقها
يعني بدي اختار اتنينالاتنين اللي بتختارهم في كل
مرحلة بتختارهم بناء على ال cross over probability
cross over probability زي ما انت شايف هنا ممكن
تبقى 70% ايش هال 70% ان انا بجه على هذا و بعمل
random number اذا ال random number هذا اجر ما بين
ال 0 وال 70 بختار بختار هذا طبعا هذا احتمالية
عالية صح ولا لا اختارته و دخل في cross over box
عشانك parent أول بمشي على اللي بعده ربما موقع شهر
نختار اللي بعده طبعا لحديث ما اختار التاني التاني
بحطه بعمل ال crossover ال crossover معناه لو ده
طالع لي two children لان بدي أنفس ال crossover مرة
أخرى برجع تاني
random number اللي بنعمله generation لازم يكون ما
بين ال 0 و ال 7 لازم يكون من ال 7 و أكتر من ال 7 و
أكتر معناه تقول احتمالية 30% انا لما بعمل random
number generation ما بين ال 0 و ال 1 بطلع عندي اي
رقم ياما 35 ياما 12 ياما 97 ياما 58 اي حاجة اي
حاجة اي حاجة اي حاجة اي حاجة اي حاجة اي حاجة اي
حاجة اي حاجة اي حاجةفهذه بيصير ان فرصة ال parent
عالية انه يخش في ال crossover يعني احتمال كبير انه
الاول و التاني طيب التاني ما طلعش ممكن يطلع التالت
على طول ممكن نختاره بشكل random حتى بدل .. مانمشيش
عليهم بالترتيب بالظبط احنا بنمشي عليهم بالترتيب
ونعطي كل واحد فرصة ان هو حسب ال probabilityالان
بطريقة هذه بمعرفة الـ probability تبع الـ cross
over والمعرفة تبع الـ mutation لحظة المعرفة الـ
mutation ضعيفة جدا واحدة في الألف نولد جيل جديد من
خلال cross over ومن خلال ال mutation هذا الجيل
الآن خلاص بدنا نقيمه نحسب ال fitnessنحسب ال
fitness تبعه و بنستمر فى كل مرة عينى على انه هل
انا قاعد بتطلع معاكي solutions احسن الجيل هذا احسن
الجيل الماضي ولا لا طبعا كيف انا بقيم الجيل كله
بحسب بقى ال total error اذا ما بحسب ال total
fitness بحسب ال error او ال differenceطبعا إذا ال
fitness of كل ما دولة ال fitness ال total fitness
تبع هدولة ال fitness ratio تبعهم كلهم طبعا قريبا
ال fitness ratio تبع هدولة يبقى طبعا يبقى أنا
مافيش إشي بتحسن فبجف بجف و باخد أحسن واحد في هدولة
ممكن يكون عندي طول رزقان بالظبط هو هو ال error هذا
إذا الفرق ما بين ال generation و ال generationصار
واقع في حدود الواحد في الألف و واحد في الألف خلاص
يبقى أنا ليش أستمر
باخد أفضل الموجود هنا هذا إيش معناته أنا I do not
find اللي هو the solution I find the best possible
solution يعني هذه عبارة عن قلية لل optimization
أكتر منها قلية لوصول إلى ال solution المظبوط
optimization يعني إيش optimization يعني إن أنا
أوجد أفضل ما يمكن إيجاده في الزمن المتاح إليه okay
فإذا كان الفكرة هي .. بالنخص في ال slides هذه اللي
هي أنه
أفضل هذا ال generation الآن
باخد ال generation بناء على ال fitness تبعهم وبناء
على رولات wheel بحدد مين منهم يدخل لإيش لعملية
يدخل لل crossover selection ال crossover selection
باستخدام ال probability ال crossover probability
بختار زوجين او زوج يعني two parents ال two parents
اللي بجلبهم او بعمل crossover بطلع معايا ال new
childrenالان ال children اللي طلعوا بروح بقرر مين
منهم عمله mutation بناء برضه على ليش ال
probability تبع ال mutation PM بيطلع معايا هذا
مثلا اوقع عليه الاختيار انه يعمل mutation فبتتبدل
ال gene .. ال .. ال .. واحد من ال genes تبعه تمام؟
الان هذا خلاص هو نهاية ليش نهاية عملية ال mutation
بتدخل معايا ك GT plus one plus one يعني ال
generation قادمةهذا او generation two generation
two هذا بعمله تقييم و بعيده كره و مرة و مرة و مرة
الى ان زى ما قلنا مايصيرش فيه اللى هو difference
ده نهاية ال example محاضرة جاى ان شاء الله بنشوف
exam الاخر فيه تعديل بسيط يعنى معادل أخرى و بعد
كده بنشوف مثال عملي أكتر على استخدام ال genetic
algorithm ماشي أعطيكم العزيزي