خوارزميات تعلم الآلة
الخوارزميات الوراثية (Genetic algorithm)

هي عبارة عن طريقه تستخدم لحل المشكلات التي تحتوي على بيانات كبيرة، كما أنها إحدى الطرق التي تستخدم في حل المشكلات عمومًا. حيث تعتمد هذه الطريقة على المبدأ الأساسي في تزاوج الجينات.
تقوم هذه الطريقة باختيار عينات من مشكله معينه والقيام بعمليه تزاوج بين هذه العينات، وهناك نوعان من عمليات التزاوج، إحداهما خلط الجينات مع بعضها البعض من الاباء(Crossover) والثاني هو تغيير في الجينات لأحداث طفره (Mutation).
تتم عمليه التنفيذ من خلال ثلاثة مراحل(operator): تتم على أساس الانتقاء الطبيعي
للعينات الأولية.
1-عمليه الاختيار (selection)
وهي عمليه اختيار العينات ال بسبب وجود مجموعه من الكروموسامات الضعيفة وأخرى قوية، فإن وجود الفرد أو عدمه يعتمد على ال (fitness function)
2-عمليه الخلط (crossover)
عمليه خلط ودمج بين اثنين من الآباء وذلك لإنتاج طفل جديد بمواصفات محسنه، وعاده تكون عمليه اختيار نقطه التقسيم عشوائية من خلال عملية تبادل الكروموسومات. في هذه العملية يتم اختيار فردين من العينات الأولية (initial population) التي تم اختيارها في الخطوة الأولى.
-إذا وجد لدينا
س1= 000000 وس2=111111
-فان ناتج عمليه الخلط
س1َ = 110000 وس2َ= 001111
وتكون النتيجة من هذه العملية (طفلين جديدين) وتدخل هذه العينة الجيل التالي لل(population)
-باعاده التزاوج بين الوالدين تكون العينات الجديدة أفضل من العينات القديمة.
-مثال على عمليه التزاوج
الوالد الأول
الوالد الثاني
الطفل الأول
3-الطفرة (Mutation)
عمليه تغير في بعض الكر وموسومات لوالد معين وإنتاج طفل جديد وهذه عمليه تسمى طفرة لان الطفل هو جديد لايحمل صفات من الأب أو الام
قبل إجراء عمليهMutation
بعد إجراء عمليه Mutation
ما هي طريقه عمل ألخوارزميه الجينية ؟
1-اختيار عينات(population) بشكل عشوائي
2-تحديد مايسمي (fitness) لهذه العينات وتكون باختيار علاقه معينه لحساب والتحكم من يعيش من هذه الكروموسامات ومن لايعيش
3-اختيار الوالدين(parent) من هذه العينات
4-إجراء عمليه(crossover) وهي عمليه الدمج والتزاوج لإنشاء جيل جديد من الأطفال (children) أي عينات جديدة منpopulation
5-إجراء عمليه (mutation) أي ما يسمى بالطفرة على الأولاد
6-يتم حساب ((fitness لهذه الأطفال
7-يتم اعاده إجراء الخطوات من 4-6 حتى الوصول إلى الحل الأمثل(optimal)
ملاحظه:
•الكروموسوم ممكن ان يكون :-
-مجمعه من الخانات (Bit) :- الأرقام الثنائية (Binary number) أي 010.....1100
-الاعداد الحقيقة (Real number): 43.3 -33 0.0
-تكرار من العناصر (permutation of element): E11E3 E7 E1E15
•في البداية يكون العمل على العينة (عينات يتم اختيارها) وليس على كل العينات
•نقوم بالتأكد من العينة الجديدة (الأطفال) سواء إذا كانت العينة ضمن الحل لهذه المشكلة أو لا عن طريق ما يسمى fitness function
fitness function
.هي التي تتحكم هل هذا الكروموسوم قوي أو ضعيف ونقوم بتحديها في البداية
•في الجينات ليس بالضروري ان تكون العينة الناتجة هي الحل للمشكله بشكل نهائي  (optimal) ولكن ممكن ان تكون قريبه من الحل أو لا
•هناك أطفال لا علاقة لهم بالحل أي بعدين عن الحل الصحيح نقوم بعمليه تزاوج بينهم مره أخرى حتى نصل الحل القريب أو النهائي
أمثله من الواقع على الخوارزميات الوراثيه
1-مشكله البائع المتجول (Traveling Salesman Problem TSP)
-وضعت الخوارزميات الجينية الحل لمشكلة البائع المتجول والهدف من ذلك هو إيجاد أقصر مسافة بين (س) مدن مختلفة.
-لو افترضنا ما يلي :-
•انوه يوجد (س) من المدن وفحص هذه المدن في الحل تكون عن طريق الاحتمالات وهذا يوجب حساب مضروب س (س!)
•لو افترضنا انه لدينا 30 جولة من المدن فعلينا حساب المجموع الكلي للمسافات
أي 2.65*1032 من الجولات المختلة ولو افترضنا مليارات اضافيه من الثواني (second) واضافه مدينة جديده يسبب استهلال الوقت الكثير من الوقت من الحساب أي حساب مضروب 31 وهذا رقم كبير كثير وهذه مهمه مستحيله الحل
-الخوارزميات الوراثية يمكن استخدامها لإيجاد الحل بوقت اقل بكثير ورغم أنها لا تجد الحل الأمثل. ولكن تجد الحل الأمثل تقريبا 100 جولة باقل من دقيقه هناك بضع خطوات أساسية لحل مشكلة البائع المتجول
أولا : تشكيل وإنشاء مجموعه عشوائية من الجولات أو ما يسمي  (population) والأفضلية لربط المدن التي تكون قريبه من بعضها البعض
ثانيا: اختيار أفضل 2 من الأقصر جوالات من (population) وإجراء عمليه الجمع بينهم لإنشاء 2 طفل جديد من الجولات وتكون أفضل من الأول (الوالدين التي تم اختيارهم في البداية)،
•وهنا نقوم بإجراء عمليه (mutated) على الجولات الجديدة أي الأطفال (new Children tour)ونقوم بعمل ذلك لمنع من وجود تماثل وتشابه بين كل الجولات
•والاطفال الجديدة (new Children tour) نقوم بادخالها إلى (population) وذلك محل الجولات الطويلة التي تاخد مسافه كبيرة ووقت أكبر
•ونقوم بتكرار العملية أي إنشاء أطفال حتى الوصول إلي الهدف المرجو من العملية وهو المسافات الأقصر
•ومن القضايا المعقدة في الخوارزميات الوراثيه لحل مشكله البائع المتجول هي التشفير والترميز (encoding) للجولات وإجراء عمليه الدمج الخلط(crossover)بينهم التي تستخدم والدين لإنشاء طفلين جديدين
• في الخوارزميات الوراثية يكون التشفير هو عبارة عن مجرد سلسله من الاعداد وعمليه الدمج والخلط تكون باختيار عشوائي نقطه فصل وتقاطع بين الأبوين. وفي هذه المثال نقطه التقاطع بين الثالثة والرابعة
الوالد الأول 	F A B | E C G D
الوالد الثاني D E A | C G B F
الطفل الأول F A B | C G B F
الطفل الثاني D E A | E C G D
•الصعوبة في مشكله البائع المتجول أن كل مدينة يجب أن تستخدم مره واحده فقط في الجولات
•إذا الحرف (Letters) المستخدم في المثال يمثل المدن، الطفل الجديد المكون من خلال عمليه الدمج تكون خطأ لان الطفل الأول يذهب إلى المدن F و B مرتين ولايذهب إلى المدن D و E