الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الخوارزميات الجينية

رائج
بدأه joo في 10 أغسطس 2008 · 60 رد · 64,253 مشاهدة · في الذكاء الاصطناعي وتطبيقاته
مشاركة: واتساب X فيسبوك تيليجرام
#51

السلام عليكم ورحمة الله وبركاته

اولأ اشكرك كثيرا " أ. حسان " على تجاوبك وردك على اسئلتي .

اتمنى منك ان تقيم لي هذه الخطوات او الخوارزمية والحكم عليها فيما اذا كانت تحقق شروط الخوارزمية الجينية اما لا .

لمجموعة من العناصر المرتبطة مع بعضها فلنسميها (الوضع الحالي) قم بالتالي :

1- توليد رقم n مثلا (4) من السكان الاوائل من خلال معادلة رياضية معينة ويختلف كل كروموسوم عن الاخر بقيمة الفتنس التي تعطيها المعادلة الرياضية لكل كروموسوم

2-اذا جميع الكروموسومات لم يحقق الفتنس لها شرط معين .. فانه في هذه الحالة يستحيل ايجاد الحل منها

3- وفي حال انه الكروموسومات حققت الشرط في الخطوة 2 فانه :

4- طالما انه جميع السكان الاوائل لم تصل الى الحل

5- طالما الكروموسوم يحقق شرط معين لاختياره لتحسين

6- . قم بعمل التحسين لهذا الكروموسوم باستخدام قيمة الفتنس من خلال تطبيق معادلة رياضية على كل جين في الكروموسوم وهذا يسمى( التحسين الكبير )

7- طبق معادلة رياضية لناتج الكروموسوم بعد عملية التحسين الكبير .. في حالة كان ناتج التحسين الكبير يحقق شرط معين فقم بعمل( التحسين الطفيف)على جين معين من الكروموسوم يختار عشوائيا

8- قم باعطاء الكروموسوم الناتج من بعد عملية التحسين الكبير والصغير قيمة الفتنس الجديدة بتطبيق معادلة رياضية عليه .. وعد للخطوة 5

9- عد للخطوة 4 لعملية تحسين كروموسوم جديد من بعد ان تم تحسين الكروموسوم السابق ونفذ بقية الخطوات السابقة عليه

10- بعد ان تم تحسين جميع الكروموسومات بعدد (n) توقف عن العمل

11- قم بعرض الحلول البديلة بعدد (n) والتي تعد هي بدائل الحلول( للوضع الحالي ).

لدي بعض الاستفسارات وهي :

1- هل توليد سكان ابتدائيين بعدد معين وعملية انتاج حلول منهم بنفس عدد السكان الاوئل يخل بشروط الخوارزمية الجينية ؟

2-هل عملية التحسين لكل كروموسوم على حدة للوصول من حالته الابتدائية الى الحل بدون ان يتم الدمج بينه وبين كروموسوم اخر في عملية الكروس اوفر وهو الدمج بين الكروموسومات .. يخل بشروط الجينية ..

3- هل عملية حكر مخرجات الجينة بتحقيق شروط معينة وبدون تحقيق هذا الشرط لايعتبر مخرجات الجينية حلولا .. يخل بشروط الجينية ..

4- ممكن تعطيني فكرة عامة مع بعض التوضيح عن خوارزمية الميميتك Memetic وماهو الفرق بينها وبين الخوارزمية الجينية ..

ولك جزيل الشكر وفائق الاحترام .. وبارك الله لك في علمك واثابك على مساعدتك الامحدودة للاخرين .. :blush:

#52

السلام عليكم ورحمة الله وبركاته ..

1- توليد رقم n مثلا (4) من السكان الاوائل من خلال معادلة رياضية معينة ويختلف كل كروموسوم عن الاخر بقيمة الفتنس التي تعطيها المعادلة الرياضية لكل كروموسوم

2-اذا جميع الكروموسومات لم يحقق الفتنس لها شرط معين .. فانه في هذه الحالة يستحيل ايجاد الحل منها

@ ممكن لكن هنا يجب عليك اعادة توليد حلول جديده ..

3- وفي حال انه الكروموسومات حققت الشرط في الخطوة 2 فانه :

4- طالما انه جميع السكان الاوائل لم تصل الى الحل

5- طالما الكروموسوم يحقق شرط معين لاختياره لتحسين

6- . قم بعمل التحسين لهذا الكروموسوم باستخدام قيمة الفتنس من خلال تطبيق معادلة رياضية على كل جين في الكروموسوم وهذا يسمى( التحسين الكبير )

7- طبق معادلة رياضية لناتج الكروموسوم بعد عملية التحسين الكبير .. في حالة كان ناتج التحسين الكبير يحقق شرط معين فقم بعمل( التحسين الطفيف)على جين معين من الكروموسوم يختار عشوائيا

8- قم باعطاء الكروموسوم الناتج من بعد عملية التحسين الكبير والصغير قيمة الفتنس الجديدة بتطبيق معادلة رياضية عليه .. وعد للخطوة 5

9- عد للخطوة 4 لعملية تحسين كروموسوم جديد من بعد ان تم تحسين الكروموسوم السابق ونفذ بقية الخطوات السابقة عليه

10- بعد ان تم تحسين جميع الكروموسومات بعدد (n) توقف عن العمل

11- قم بعرض الحلول البديلة بعدد (n) والتي تعد هي بدائل الحلول( للوضع الحالي ).

@ الخطوه من 3 الى 11 لم تذكر بها كيف تقوم بالتحسين هل هو عمل تبديل مثلا بين الجينات او محتوياتها ؟ لماذا لم تستخدم الكروس اوفر واليوتيشن وباقي الخطوات , تستطيع ان تجعل هذه العمليات الرياضيه التي تحسن الحل عندك داخل الكروس اوفر , لانك اذا لم تستخدم هذا المراحل والخطوات تغيرت الخوارزميه الجينيه الى اسم اخر وخوارزميه اخرى من population pase , اجمالا حاول ان تعمل دمج بين هذه العمليات الرياضيه والكروس اوفر والميوتيشن , فتحصل على نتائج جيده , واحدة انواع الكروسوفر هو عمل تصالب بين الجينات بناءا على عمليات حسابيه مشروطه بالنتائج ..

لدي بعض الاستفسارات وهي :

1- هل توليد سكان ابتدائيين بعدد معين وعملية انتاج حلول منهم بنفس عدد السكان الاوئل يخل بشروط الخوارزمية الجينية ؟

@ انت في هذه الحاله تعمل دمج بين خوارزميات مختلفه وهو ما يسمى nighbers بمعنى انك من كل حل تعمل حل جدد منه , المبدا العام ان تحسن الحل ولكن الخوارزميه الجينيه تصبح مقيده وتبتعد عن مبدأ تطوير الحلول , لانك هنا جعلت الحلول بقيود .. و من المعلوم انك اذا انشات حلول جديده كامله من الحلول الاولى ( السكان ) فبالتالي انت لا تحتاج لل selcetion ولا ل replace فلا اعلم هنا عملك نوعيا قد خرج عن مبدأ الخوارزميه الجينيه ( بمعنى انه ليس لديك كروسوفر ولا ميتويشن ولا selection و لا replace وهذه هي مكونات الخوارزميه الجينيه الرئيسيه تسنطيع ان تستغني عن بعضها ولكن ليس الجميع , باختصار عملك يقع تحت ما يسمى population base تقريبا .

2-هل عملية التحسين لكل كروموسوم على حدة للوصول من حالته الابتدائية الى الحل بدون ان يتم الدمج بينه وبين كروموسوم اخر في عملية الكروس اوفر وهو الدمج بين الكروموسومات .. يخل بشروط الجينية ..

@تابع للجواب السابق على السؤال رقم 1

3- هل عملية حكر مخرجات الجينة بتحقيق شروط معينة وبدون تحقيق هذا الشرط لايعتبر مخرجات الجينية حلولا .. يخل بشروط الجينية ..

@ تابع للجواب السابق على السؤال رقم 1

4- ممكن تعطيني فكرة عامة مع بعض التوضيح عن خوارزمية الميميتك Memetic وماهو الفرق بينها وبين الخوارزمية الجينية ..

@باختصار هي استخدام local search algorthim مع الخوارزميه الجينيه تقريبا نفس مبدأ عمل عملك في الاعلى ولكنه بحاجه الى بعض التحسينات مثل استخدام الكورس اوفر والميوتيشن وباقي الخطوات ( تستطيع ان تستغني عن الكرس اوفر مثلا او الميتويشن , مبدا عمل الlocal هو اعتماد الجواب الافضل من خلال اعتماد الحلول التي تولد افضل فتنس فنكشن هذا باختصار

بالتوفيق ان شاء الله ..

#53

مرحبا .. وجزاك الله خيرا على ردك ..

من ناحية عمليات الخوارزمية الجينية من كروس اوفر وطفرة واختيار وreplace فهي ليس بمفهومها العام طبقتها حيث أنني قمت بالتالي :

1- الكروس اوفر لدي هي التحسين الكبير حيث اطبق معادلة رياضية على كل جين في الكروموسوم لتغيير قيمته حيث انه عملية ترميز الكروموسوم هي عبارة عن اعطاء كل جين رقم حقيقي . وبالتالي لم اطلق عليها كروس افر لانه الكروس اوفر هي ربط بين كروموسوميين في جين معين

اما في مشكلتي فانا لاحتاج لان اعمل هذا وانما اعمل على انتاج كروموسوم جديد من خلال تغيير قيم الجينات للكروموسوم القديم .

2- الطفرة لدي هي التحسين الطفيف حيث انه عند تحقق شرط معين اعمل تغيير في قيمة جين معين في الكروموسوم الناتج من خطوة التحسين الكبير .

3- الاختيار لدي هي تطبيق شرط معين للكروموسوم ففي حالة تحقق الشرط يتم اختياره لتحسين وفي حالة عدم تحقق الشرط فانه يعتبر حل .

4- الاستبدال هي تغيير قيم جينات الكروموسوم بقيم جديدة بناء على التغيرات التي حصلت له في التحسين الكبير والطفيف

======================================================================

ممكن توضيح اكثر بالنسبة لل nighbers ؟ وحبذا مع مثال بسيط ..

وكذلك ممكن توضح لي اكثر population base لاي نوع من المشاكل تستخدم ومع مثال ان امكن .. ولماذا حكمت على انه ماقمت به يقع تحت population base ؟

وشكرا جزيلا :blush:

#54
Memoo10 كتب:

4- الاستبدال هي تغيير قيم جينات الكروموسوم بقيم جديدة بناء على التغيرات التي حصلت له في التحسين الكبير والطفيف

؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ليست هكذا اخي حسب ما فهمت منك

======================================================================

ممكن توضيح اكثر بالنسبة لل nighbers ؟ وحبذا مع مثال بسيط ..

@ مجموعة حلول حول الحل الموجود , بمعنا انه من كل حل نحصل على مجموعة حلول ونختار افضلها , كان تعمل تبديل بين الجينات فتحصل على حل جديد يسمى nighber وبالتالي اذا حصلت على اكثر من حل تحتار من بينهم الافضل , وكلما زاد عدد احتمالات الحلول المجاوره للحل الاولي كلما زادت الفرصه للحصول على نتيجه افضل حتى لو كانت ليست افضل من الحل الاصلي ( طبعا هنا انت شرطك انه يجب ان يكون الحل الجديد افضل قبالتالي انت تطبق local داخل GA ..

وكذلك ممكن توضح لي اكثر population base لاي نوع من المشاكل تستخدم ومع مثال ان امكن .. ولماذا حكمت على انه ماقمت به يقع تحت population base ؟

@ هذا ما اتوقع وهو اقرب لعملك لانك تهتم بالسكان وهناك العديد من الطرق التي تطبقها داخلها , كدمجها مثلا مع simulated و PCA وغيرها ..

افضل ان ترجع الى بعض المراجع عن الموضوع لكي تفهمه بالضبط ..

#55

عفوا " أ. حسان " لقد قصدت بالاستبدال هو انه الكروموسوم القديم سيتم انتاج كروموسوم جديد منه وكانه استنساخ وفي حالة كانت الكروموسوم الجديد يحقق شرط معين فانه سييتم استبداله بدل الكروموسوم القديم الذي تم انتاجه منه ...

هل هذا لايعد replace.اذا ماذا تسميه ان لم يكن كذلك ..

لكن لم تقل لي عن الخطوات السابقة من كروس اوفر , وطفرة , واختيار .. التي طبقتها باسلوب مختلف عن الاسلوب العام للجينية .. هل اخل بالشروط ..

بالنسبة للمشاكل التي تهتم بعدد السكان فقد قرات انه من بعض شروط التوقف للخوارزمية الجينية هو الوصول الى عددمعين من كروموسومات الافضل .. مارايك في هذا

وشكرا جزيلا وقد استفدت كثيرا من ردودك لي ..

#56

السلام عليكم ورحمة الله وبركاته

اذا ممكن ابغى مثال لشركة معروفه طبقت الخوارزمية الجينية

شاكره لكم

#57

الاخ نور

السلام عليكم ورحمة الله

هل يمكن استخدام الخوارزمية الجينية فى كشف اختراقات الشبكة بالتطبيق على نوع معين من الفيروسات ؟ وما مدى نجاحها فى رايك؟

ولكم الشكر.

#58

السلام عليكم ورحمه الله وبركاته

بارك الله فيكم على الشرح الجميل على الخورزميات الجينيه وانا استفدت كثيرا وان شاء الله في ميزان حسناتكم لكن يااخوان

محتاج انا اعمل مشروع بالخورزميات الجينيه مع قواعد البيانات ! كيف يمكن التعامل بقاعده البيانات عن طريق الخورزميات الجينيه لتوضيح اكثر مشروعي هو جدول المحاضرات للطبه في الموسسات التعليميه

الجدول

1- الطلبه وعباره عن كروبات

2- الاساتذه

3-المواد الدراسية

4- الوقت

5- القاعات الدراسية

محتاج الى اي محاضرة او موقع عن الخورزميات الجينيه والافضل بالعربي وبارك الله فيكم

#59

ﻭﺍﻟﻠﻪ ﻣﺸﺎﺭﻛﺔ ﻭﺩﺭﻭﺱ ﺍﻛﺜﺮ ﻣﻦ ﺭﺍﺉﻋﺔ ﻭﺍﻟﻨﻘﺎﺵ ﺟﺪ ﺟﻤﻴﻞ ﻣﺎ ﺷﺎﺀ ﺍﻟﻠﻪ ﺍﻟﻤﻨﺘﺪﻯ ﻓﻴﻪ ﺧﻴﺮ ﺷﺒﺎﺏ ﺍﻟﻌﺮﺏ ﺷﻜﺮﺍ ﻟﻠﺠﻤﻴﻊ ﻭﻳﺎﺭﻳﺖ ﺍﻟﻤﺰﻳﺪ ﻣﻦ ﻫﻜﺬﺍ ﻣﻮﺍﺿﻴﻊ

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#60

بسم الله الرحمن الرحيم

هذه مقدمة في علوم الحاسوب من جامعة هارفرد وهذا الكورس حول الخوارزميات وجدته من مدونة مؤيد

http://cs50.tv/2010/fall/

#61
hassan_82 كتب:

نظام جدولة المواد واالامتحانات على سبيل المثال هو من احد التطبيقات التي تستخدم الخوارزميات الجينيه او بالاحرى سابسط الموضوع بشكل سهل

مثلا بناء جدول للامتحانات يتم من خلاله تحديد الماده والوقت والغرفه التي يتم بها الامتحانات وبالتالي يكون دور هذه الخوارزميه هو ايجاد افضل جدول مع مراعات الشروط الطبيعيه وهي عدم وجود امتحان في نفس القاعه ولنفس الطلاب , بشكل اكثر تبسط فلنضع مثال بسيط طبعا مثال فقط يوضح الفكره لا اكثر ولا اقل :

لنفرض انه لدينا هذه الارقام والتي تمثل مواد معينه من 1 الى 16 حيث كل رقم يعود لماده محدده في فبدايتا نقوم بعمل انشاء ل 16 جين بشكل عشوائي هنا وهي اول عمليه بالخوارزميات الجينيه علما بانه نستطيع ان نحصل على هذه الجينات من خلال التشارك مع خوارزميه اخرى مثل خوارزميه تسلق الجبال في الضباب , بغض النظر فلنفرض اننا انشاءنا هذا الكروموسوم والذي يتكون من 16 جين طبعا هنا ننشا اكثر من كروموسوم ليس واحد فقط ثم يتم التزاوج بين افضل الاباءالذيتم انشائهم (العياذ بالله من الشرك), من هذه العمليه ونكمل باقي الخطوات في الخوارزميه كما شرح من الاخ نور لكي يتم في نهاية المطاف اختيار افضل كروموسوم والذي يمثل بالنهايه افضل جدول بيانات للامتحانات المراد ايجادها طبعا يوجد هنالك امور كثيره لم اوردها ولكن اردت ان اوضح الفكره بشكل عام فبالتالي نحصل على الجدول بافضل الطرق من خلال مراعاة الشروط التي تكون موجدوه في مثل هذا النوع من البرامج بما بسمى القيود الصعبه والقيود السهله والتي لن اتطرق لها لانها ليس لها دخل في الخوارزميه الجينيه ولكن لها دور في بناء هذا النوع من التطبيقات والله اعلم .

مواضيع مشابهة