You are on page 1of 75

1028

‫‏‬
Artificial Intelligence

Dr. Khaldoun Alfaraj


University of Hama
‫‏‬
1028
‫الفصل األول‬

‫مدخل إلى الذكاء الصنعي‬

‫‪ .1‬الذكاء‬

‫‪ .2‬الذكاء الصنعي‬

‫‪ .3‬مجاالت الذكاء الصنعي‬

‫‪ .4‬ماهو الحاسوب الذكي؟‬

‫‪ .5‬تجربة تورينغ‬

‫‪ .6‬مقارنات عامة‬

‫‪ .7‬هندسة المعرفة‬

‫‏‬

‫‏‬

‫‏‬

‫‏‬

‫‏‬

‫‏‬

‫‏‬

‫‏‬

‫‪2‬‬
‫‏‬

‫الفصل األول‪ :‬مدخل إلى الذكاء الصنعي‬


‫‪ 1.1‬الذكاء‪:‬‬

‫يتكوف مخ اإلنساف من جزأين أيسر وأؽلن حيث زبتص اجلهة اليسرى من ادلخ دبعاجلة ادلهاـ بصورة تتابعيو ومنطقية اليت تشمل‬
‫فهم اللغات الطبيعية واالستدالؿ ادلنطقي واإلحساس بالواقع بينما زبتص اجلهة اليمٌت دبعاجلة بيانات ادلسألة مرة واحدة بصيغة متوازية‬
‫مثل التعرؼ على ادلناظر والصور وتنسيق عمل الوظائف ادلختلفة يف جسم اإلنساف‪ .‬ىذا النموذج ؽلكن أف يوجو مسار البحوث‬
‫وذلك بطرح فرضيات تقوـ التجارب باختبار صحتها حيث أف دراسة ادلخ البشري دل تكتمل بعد والذي ؽلثل أعقد تركيب يف جسم‬
‫اإلنساف‪.‬‬

‫فهم الذكاء يتطلب فهم كيفية اكتساب ادلعارؼ وسبثيلها وزبزينها وكيف غلري توليد السلوؾ الذكي وتعلمو‪.‬‬

‫الذكاء‪ :‬ىو القدرة على الفهم وتعلم األشياء‪.‬‬

‫الذكاء (يف القاموس)‪ :‬ىو القدرة على التفكَت والفهم عوضا عن القياـ باألعماؿ بالفطرة أو آليا‪.‬‬

‫الذكاء الطبيعي‪ :‬كائن لو دماغ‪ ,‬أو شيء ما‪ ,‬ؽلكنو من التعلم‪ ,‬والفهم‪ ,‬وحل ادلشاكل وازباذ القرارات‪.‬‬

‫‪ 2.1‬الذكاء الصنعي‪:‬‬

‫ىو علم يبحث السلوؾ الذكي لغَت الكائنات احلية‪.‬‏يتميز السلوؾ الذكي بالقدرة على اكتساب ادلعرفة واستخدامها يف معاجلة األشياء‬
‫احمليطة وحل ادلسائل أو تقسيم ادلسألة ادلعقدة إذل أجزاء بسيطة‪ .‬كما يتميز بالقدرة على التعلم من خالؿ التجارب ادلختلفة والقدرة‬
‫على االستنتاج والتعميم والتمييز بُت ادلواقف ادلتشاهبة ادلختلفة والتفهم وعلى األخص عند وجود معلومات ملتبسة‪ .‬أيضا يتميز بالقدرة‬
‫للمواقف‪ .‬‏‬ ‫على التخطيط وازباذ القرارات واالستجابة ادلرنة‬

‫يستلزـ السلوؾ الذكي بدوره اإلدراؾ ‪ perception‬واحملاكمة ‪ reasoning‬والتعلم ‪ learning‬والتواصل‬


‫‪ communicating‬والتصرؼ ‪ acting‬يف بيئات معقدة‪.‬‬

‫أىداؼ الذكاء الصنعي طويلة األمد ىو إنشاء آالت ؽلكنها فعل ىذه األشياء باجلودة اليت يقدمها البشرأو حىت على ضلو أفضل من‬
‫البشر‪ .‬الغرض اآلخر ىو فهم ىذا النوع من السلوؾ سواء حدث من اآلالت أـ من البشر أـ من كائنات أخرى‪.‬‬

‫‪3‬‬
‫يف ادلعلوماتية الكالسيكية يعاجل احلاسب معلومات رقمية ويتم ربويل كل البيانات إذل أرقاـ ويتم استخداـ اخلوارزميات بشكل‬
‫تسلسل منطقي من العمليات خطوة خبطوة من بداية زلددة إذل هناية زلددة يف حل ادلشكلة‪ .‬أما من وجهة نظر الذكاء الصنعي‬
‫يتعامل احلاسب مع معلومات رمزية (معرفة) وتتم معاجلتها بطريقة ذبريبية باالعتماد على االستدالؿ واالستنتاج حيث أف العمليات‬
‫الذىنية لدى اإلنساف تعتمد على اكتساب اخلربة اليت تتكوف من التجربة‪.‬‬

‫إف كلمة صنعي غالبا ما تشَت إذل اآللة أو احلاسوب وبالتارل ؽلكن إعطاء تعريف بسيط للذكاء الصنعي بأنو استجابة اآللة بطريقة‬
‫ذكية للمهمة ادلسندة ذلا‪ .‬يعترب الذكاء الصنعي إذا فرع من علوـ احلاسب الذي يهدؼ إذل دراسة وظلذجة وتصميم أنظمة وبررليات‬
‫رباكي يف أداءىا السلوؾ الذكي لإلنساف‪ .‬حيث أف أجهزة احلاسوب سبتلك قدرات زبزين عالية بادلقارنة مع االنساف الذي ؽلتلك‬
‫بدوره قدرة أكرب يف ربديد العالقات بُت األشياء والتعرؼ على ادلناظر واألشخاص وفهم مكونات العادل اخلارجي فإذا مت إضافة ىذه‬
‫ادلقدرة عليها ألصبحت ذكية‪.‬‬

‫‪ 3.1‬تعريف الذكاء الصنعي‪:‬‬

‫فيما يلي تعريفات اعتمدت لو‪:‬‬

‫الذكاء الصنعي‪" :‬جهود مثَتة جلعل احلواسيب (اآلالت) تفكر‪ ..‬أف يكوف ذلا عقل دبعٌت الكلمة" ‪Haugeland 1985‬‬

‫"دراسة اإلمكانات الذىنية عرب استخداـ ظلاذج حسابية" (‪)Charniak & McDermott 1985‬‬

‫جزء من علوـ احلاسوب يهتم بتصميم نظم حاسوبية ذكية تتصف باخلواص اليت يتصف هبا البشر األذكياء‪ :‬فهم اللغات‪ ,‬التعلم‪,‬‬
‫‪ )Barr‬‏‬ ‫احملاكمة‪ ,‬حل ادلسائل‪ ,‬وغَتىا‪& Feigenbaum 2003( ...‬‬

‫شلا الشك فيو ىو أف السبب الرئيسي الذي أدى إذل انتقاؿ رلاالت الذكاء الصنعي من الناحية البحثية واألكادؽلية إذل التطبيق العملي‬
‫يعود إذل تطور القسم العتادي ‪ Hardware‬للحواسيب حيث أهنا تستهلك قدرا كبَتا من مصادر ‪ Resoures‬اآللة ويبُت‬
‫الشكل ‪ 2-1‬تاريخ تطر الذكاء الصنعي مع تطور احلاسوب‪.‬‬

‫‪4‬‬
‫‏‬

‫الصنعي ‏‬ ‫الشكل ‪ 2-1‬تاريخ الذكاء‬

‫‏‬

‫‪ 4.1‬ماهو الحاسوب الذكي‪:‬‬

‫ىل ىو حاسوب ليو معطيات ‪Data‬؟ أي لديو أرقاـ وزلارؼ وأمساء خاـ‪..‬؟ بالطبع ال‪ ,‬فتجميع ادلعطيات وخزهنا ليس فيو كبَت من‬
‫الذكاء‪.‬‬

‫ىل ىو حاسوب لديو معلومات ‪information‬؟ أي إنو يتضمن نتائج معاجلة رياضية وإحصائية إلعطاء توصيف مفيد‬
‫للمعطيات‪ ,‬مثل إغلاد ادلتوسط مجيع القيم أو إغلاد القيمة األعلى تكرارا أو القيمة الدنيا‪..‬؟ أيضا ال‪ ,‬أذ ال تتطلب مثل ىذه ادلعاجلات‬
‫أي ذكاء‪ .‬وىي رلرد عمليات حسابية على ادلعطيات‪.‬‬

‫ىل ىو نظاـ معلومات يشمل كيفية زبزين واسًتجاع ادلعلومات؟ ىنا أيضا نتحدث عن قواعد معطيات فقط‪ .‬وإف كاف التوجو إذل‬
‫نظم قواعد معطيات ذكية‪.‬‬

‫ىل ىو نظاـ خبَت؟ غلمع ادلعطيات‪ ,‬ينشئ معلومات‪ ,‬يستشَت خبَتا عن صالحية ادلعلومات والقواعد عليها‪ ,‬يضع برنارلا حلل ادلسائل‬
‫ادلتعلقة هبذه اخلربة؟ ىنا فقط بدأنا نتحدث عن خربة ومعرفة وذكاء‪.‬‬

‫‪ .5.1‬تجربة تورنج ‪Turing‬‬

‫قاـ العادل االنكليزي ‪ Allan turing‬بإجراء ذبربة يف عاـ ‪ 1951‬عرفت بامسو هتدؼ إذل اختبار ذكاء اآللة (تستطيع‬
‫التفكَت) أو مىت نقوؿ عن برنامج أنو ذكي‪ .‬تتلخص ىذه التجربة يف وضع طرفيتُت يف حجرتُت منفصلتُت ومعزولتُت يوجد يف إحداعلا‬
‫إنساف يتصالف بطرفية ثالثة يف حجرة ثالثة معزولة عن احلجرتُت يتواجد فيها أيضا إنساف الذي ؽلثل احلكم ومهمتو إجراء حوار مع كل‬
‫من اإلنساف واآللة الكتشاؼ أي الطرفيتُت يتصل باإلنساف دوف أف يراعلا كما ىو مبُت يف الشكل ‪ .1-1‬بعد احلصوؿ على‬

‫‪5‬‬
‫اإلجابات منهما‪ ,‬إذا استطاع التفريق بُت مصادر اإلجابات نقوؿ عن اآللة أو الربنامج بأنو غَت ذكي وإذا دل يستطع نقوؿ بأنو ذكي‬
‫ألنو استطاع أف ؼلدع اإلنساف‪ .‬القى ىذا االختبار الكثَت من االنتقادات لتأثر نتيجتو باحلكم لكنو وضع األساس الذي بدأت فيو‬
‫أحباث الذكاء الصنعي تبصر النور‪.‬‬

‫الشكل ‪ 1-1‬ذبربة تورينج‬

‫‪ 6.1‬تقنيات الذكاء الصنعي‬


‫دبا أف الذكاء الصنعي يعاجل ادلعلومات الرمزية فإننا حباجة إذل تقنيات زبتلف عن التقنيات الكالسيكية من أجل احلصوؿ على‬
‫برنامج قادر على القياـ بالتفكَت واحملاكمة ومن أشهر ىذه التقنيات ‪:‬‬

‫‪ .1‬ادلنطق ‪logic‬‬
‫‪ .2‬البحت الشامل ‪Exhaustive Search‬‬
‫‪ .3‬ادلنطق العائم ‪Fuzzy logic‬‬
‫‪ .4‬الشبكات العصبونية ‪Neural Networks‬‬
‫‪ .5‬اخلوارزمية اجلينية ‪Genetic Algorithm‬‬

‫‪ 7.1‬تطبيقات الذكاء الصنعي‬


‫من أىم التطبيقات العملية للذكاء الصنعي ‪:‬‬

‫‪ .1‬األنظمة اخلبَتة ‪Expert Systems‬‬


‫‪ .2‬معاجلة اللغات الطبيعية ‪Natural languages processing‬‬

‫‪6‬‬
‫‪ .3‬الرؤية ‪ Machine vision‬التعرؼ على األشكاؿ ‪Pattren recognition‬‬
‫‪ .4‬سبييز الصوت ‪Speech Recognition‬‬
‫‪ .5‬التخطيط واألسبتة كالروباتات ‪Robots‬‬
‫‪ .6‬التعلم التلقائي ‪Machine learning‬‬
‫‪ .7‬تطبيقات األلعاب ‪Games‬‬

‫الشكل ‪ 3-1‬تطبيقات الذكاء الصنعي‬

‫‪7‬‬
‫الفصل الثاني‬
‫المنطق الصفري‬
‫‪ 1.2‬كيفية تعريف لغة‬
‫‪ 2.2‬المنطق‬
‫‪ 3.2‬المنطق االقتراحي‬
‫‪ 2.4‬قاعدة المعرفة‬
‫‪ 5.2‬عبارة هورن‬
‫‪ 6.4‬االستتباع‬
‫‪ 2.4‬االستدالل‬

‫‪8‬‬
‫الفصل الثاني‪ :‬المنطق الصفري‬

‫‪ 2.1‬كيفية تعريف لغة‬


‫لتعريف أي لغة ضلتاج إذل تعريف مايلي ‪:‬‬

‫‪ 2.2.1‬القواعد اإلمالئية للغة ‪Language Syntax‬‬


‫وذلك للحكم على عبارة ما فيما إذا كانت تنتمي للغة أـ ال‪ .‬مثاؿ ‪:‬‬

‫يف لغة اجلرب‪ :‬العبارة التالية ‪ X++y=5‬ىي عبارة خاطئة ال تنتمي إذل لغة اجلرب ألهنا ال ربقق القواعد اإلمالئية لغة اجلرب‪.‬‬

‫‪ 1.2.1‬داللة اللغة ‪Language Semantic‬‬


‫وىي مؤشر حوؿ معٌت العبارة‪ .‬وكمثاؿ ليكن لدينا ادلقطع التارل يف لغة ‪C++‬‬

‫;‪int g=5‬‬
‫;"‪char a []="art‬‬
‫;‪a=g‬‬ ‫‪//Semantic Error‬‬

‫ألف ‪ C++ Semantic‬اليسمح بتخزين متحوؿ صحيح يف سلسلة زلرفية ولكن الحظ أف اجلملة ;‪ a = g‬صحيحة إمالئيا‪.‬‬

‫‪ 2.2.1‬قواعد اللغة ‪Grammars of language‬‬


‫مثال يف لغات الربرلة بعد الكلمة ‪ if‬غلب وضع عبارة منطقية تعطي ‪ True‬أو ‪false‬‬

‫‪ 1.1‬المنطق‬
‫ادلنطق ىو أداة للتحقق من صحة العبارات ادلركبة ‪ Compound statements‬ويتضمن لغة تعريفية ومصطلحات للتعبَت عنها‬
‫وكتابتها (ظلذجتها) وطرؽ زلاكمة الستنتاج صحتها أو خطأىا‪ .‬و سندرس ادلنطق االقًتاحي ‪ propositional logic‬وادلنطق‬
‫اإلسنادي ‪ Predicate logic‬منطق الدرجة األوذل‪.‬‬

‫‪ 2.1‬المنطق االقتراحي ‪Propositional logic‬‬


‫ىو منطق العبارات ادلركبة ادلبٍت من العبارات البسيطة باستخداـ عالقات أو روابط بوؿ ويستخدـ يف تصميم الدارات االلكًتونية‬
‫الرقمية ويف التعبَت عن اجلمل الشرطية يف لغات الربرلة واالستفسار ‪ Queries‬يف قواعد ادلعطيات وزلركات البحث‪.‬‬

‫‪9‬‬
Statement ‫ العبارة‬2.2.1
‫ دبعٌت زلدد (أي ليست مبهمة أو عائمة) ؽلكن أف تكوف صحيحة أو خاطئة وال‬declarative sentence ‫ىي مجلة خربية‬
.‫ؽلكن أف يتحقق الرأيُت معا‬

‫مثال‬

propositions NOT proposition


It is raining Who's there (interrogative, question)
Beijing is the capital of China Just do it (imperative, command)
1+2=3 1+2 (expression with non true/false value)

Proposition logic syntax 1.2.1


True, false ‫ ثوابت اللغة‬.1
‫ (اليت تعربعن مشكلة ما صلري عليها زلاكمة‬propositions ‫ يتم التعبَت عن رلموعة اجلمل ادلطروحة باللغة الطبيعية‬.2
.Atoms ‫معينة سنبينها الحقا) باستخداـ رموز يطلق عليها ذرات‬
.(R ‫ نعرب عنها باستخداـ الرمز (الذرة‬It is raining ‫مثاؿ‬
‫ يتم استخداـ األقواس لتحديد األولوية‬.3
: ‫ العالقات اليت تربط بُت مجل ىذه اللغة ىي كالتارل‬.4

Formal Name Nickname Symbol meaning


Negation NOT A ‫نفي‬
Conjunction AND AB ‫و‬
Disjunction OR  ‫أو‬
Aِِ ِِ B
Implication IMPLIES AB )If A then B) ‫يؤدي‬
Biconditional IFF AB )If A and only If B( A ‫ يؤدي‬B ‫ و‬B ‫ يؤدي‬A

‫ خصائص العالقات‬2.1.2.1
A  B  B  A Commutativity of  ‫التبادلية‬

A  B  B  A Commutativity of  ‫التبادلية‬

10
(A  B)  C  A  (B  C( Associativity of  ‫التجمعية‬

(A  B)  C  A  (B  C( Associativity of  ‫التجمعية‬

A  (B  C)  (A  B)  (A  C( distributivity of  over   ‫ على‬ ‫توزيع‬

A  (B  C)  (A  B)  (A  C( distributivity of  over   ‫ على‬ ‫توزيع‬

  A  A double-negation elimination ‫النفي مرتُت يلغيو‬

)‫ (يطلب برىانو‬A  B  B  A Contraposition of  ‫التبادلية بالنفي يف‬

(A  B)  A  B

ABBA

B  A  (B  A)

A  B  A  B implication elimination ‫إلغاء يستوجب‬

A  B  (A  B)  (B  A( Biconditional elimination ‫إلغاء التكافؤ‬

De Morgan ‫ قانوني دي مورغان‬1.1.2.1


 (A  B) A B

 (A  B)  A B

Idempotent rules ‫ قانوني المثل‬2.1.2.1


AAA

AAA

Absorption rules ‫ قانوني االمتصاص‬3.1.2.1


)‫ (يطلب برىانو باستخداـ جدوؿ احلقيقة‬A  (A  B)  A

)‫ (يطلب برىانو باستخداـ جدوؿ احلقيقة‬A  (A  B)  A

11
‫‪ 5.2.3.2‬قواعد احلدية ‪Bound rules‬‬
‫‪A  false  false‬‬

‫‪A  true  A‬‬

‫‪A  false  A‬‬

‫‪A  true  true‬‬

‫‪+‬‬

‫‪ 4.3.2‬تعاريف أساسية يف لغة ‪Prepositional logic PL‬‬


‫التفسَت ‪ : Interpretation‬إعطاء الذرات يف مجلة منطقية ما قيم معينة )‪.(true or false‬‬

‫النموذج ‪ : Model‬التفسَت الذي غلعل اجلملة ادلنطقية تأخذ القيمة الصحيحة )‪.(True‬‬

‫اجلملة الصحيحة (‪: Valid-sentence (or tautology‬ىي مجلة منطقية قيمتها ‪ true‬من أجل مجيع التفاسَت ادلمكنة‬
‫للذرات‪.‬‬

‫مثاؿ ‪ P  P :‬مهما كانت ‪ P‬فإف اجلملة السابقة تبقى صحيحة‬

‫اجلملة غَت الصحيحة )‪ : Inconsistence sentence (or contradiction‬مجلة تبقى قيمتها ‪ false‬من أجل مجيع‬
‫التفاسَت ادلمكنة لذراهتا‪.‬‬

‫مثاؿ ‪ P  P :‬مهما كانت ‪ P‬فإف اجلملة السابقة تبقى غَت صحيحة‪.‬‬

‫‪Knowledge Base KB 4.2‬‬


‫ادلعرفة ىي اخلربة ادلكتسبة من التجربة ويتم سبثيلها على شكل رلموعة من احلقائق والقواعد‪ .‬ويشبو ىذا التمثيل األسلوب الذي يتبع‬
‫يف سبثيل ادلعرفة البشرية‪.‬احلقيقة سبثل واقعا (صفة) لعنصر من العناصر أو عالقة بُت رلموعة من العناصر‪ .‬أما القواعد فيتم التعبَت عنها‬
‫على شكل مجل شرطية >‪( IF <Antecedent> Then <Consequent‬مقدمات ونتائج) حيث أف ادلقدمات ىي‬
‫اجلزء الذي يلي ‪ If‬إذا كاف كذا وكذا أو كذا ‪ ...‬والنتائج ىي اجلزء الذي يلي ‪ Then‬إذف يكوف كذا و‪...‬‬

‫وتقوـ آلة االستدالؿ ‪ Inference Engine‬بفرز وترتيب واختيار القواعد واحلقائق ادلناسبة وادلخزنة يف قاعدة ادلعرفة واستنتاج‬
‫قواعد جديدة أو االستفسار عن حقائق واستنباط ادلسببات اليت تؤدي إذل حل ادلشكلة‪.‬‬

‫‪12‬‬
‫مثال‬

‫ليكن لدينا اجلملة الطبيعية التالية ‪ :‬إذا كاف الطقس حار ورطب فسوؼ سبطر "لغة طبيعية "‬

‫إلدخاؿ ىكذا مجلة إذل احلاسب لنستدؿ منها إف كانت ستمطر أـ ال حبسب حالة الطقس (حار ورطب أو حار وغَت رطب أو غَت‬
‫حار ورطب أو غَت حار وغَت رطب وىذا ما يسمى "فضاء ادلسألة" ) غلب ربويلها إذل لغة )‪ (PL‬أي غلب ربويلها إذل مجلة زبضع‬
‫لػ ‪ Syntax‬لغة الػ )‪( PL‬‬

‫نرمز الفرضيات ‪:‬‬


‫أوالً ‪ّ :‬‬

‫نرمزىا ‪HO‬‬
‫الطقس حار ّ‬ ‫‪‬‬

‫نرمزىا ‪HU‬‬
‫الطقس رطب ّ‬ ‫‪‬‬

‫نرمز ذلا ‪R‬‬


‫إهنا سبطر ّ‬ ‫‪‬‬

‫الرموز )‪ (HO, HU, R‬نسميها ذرات ‪.‬‬

‫ثانياً ‪ :‬بعد ترميز الفرضيات فإننا نستطيع التعبَت عن القاعدة العامة بشكل منطقي فنقوؿ ‪:‬‬

‫‪HO  HU  R‬‬

‫إذاً‪ :‬استطعنا من خالؿ القواعد اإلمالئية للغتنا اجلديدة التعبَت عن مجلة باللغة الطبيعية – ال يستطيع احلاسب فهمها – جلملة منطقية‬
‫أقرب للحاسب ‪.‬‬

‫‪ 1.4.2‬القواعد في قاعدة المعرفة‬


‫قاعدة ‪1‬‬

‫إذ كاف ‪ 1‬زلرؾ السيارة يبدأ الدوراف لكن السيارة التتحرؾ‪.‬‬

‫و ‪ 2‬البطارية مشحونة‬

‫و ‪ 3‬بادئ احلركة جيد‬

‫إذف السيارة خالية من الوقود‬

‫‪13‬‬
‫قاعدة ‪2‬‬

‫إذا كانت ‪ 1‬مصابيح السيارة جيدة‬

‫و ‪ 2‬ادلصابيح تضيء عند توصيلها‬

‫إذا البطارية مشحونة‬

‫‪ 2.4.2‬الحقائق في قاعدة المعرفة‬


‫حقيقة ‪ : 3‬مصابيح السيارة جيدة‪.‬‬

‫حقيقة ‪ : 4‬ادلصابيح تضيء عند توصيلها‪.‬‬

‫آلة االستدالؿ تبدأ دبسح القاعدتُت حسب ترتيبهما وعندما ال ذبد نتيجة زلددة من القاعدة األوذل فتبدأ يف مسح القاعدة الثانية‪.‬‬

‫عند مسح القاعدة الثانية سوؼ ذبد أف مقدمات القاعدة الثانية تتطابق مع حقائق قاعدة ادلعرفة ‪ ,‬وعلى ذلك فإف آلة االستدالؿ‬
‫سوؼ تقوـ بتطبيق ىذه القاعدة وتضاؼ النتيجة (حقيقة ‪ :‬البطارية مشحونة) إذل احلقائق مث تبدأ آلة االستدالؿ يف عملية ادلسح من‬
‫جديد ودلا كانت مقدمات القاعدة األوذل قد أصبحت تتطابق مع احلقائق ادلتوفرة فإف ىذه القاعدة تطبق وتضاؼ نتيجتها إذل احلقائق‬
‫أيضا‪ .‬نظرا لعدـ وجود أية قواعد أخرى ؽلكن تطبيقها فإف عملية االستنتاج ستنتهي عند ىذا احلد‪.‬‬

‫يف لغة الربولوج )‪ prolog (programming in logic‬أو بررلة ادلنطق‪ ,‬يتم إعطاء احلاسب وصف ادلشكلة باستخداـ عدد‬
‫من احلقائق ‪ Facts‬والقواعد ‪ Rules‬مث يتم االستفسار ‪ Queries‬عن احللوؿ احملتملة للمشكلة‪ .‬تعتمد لغة الربولوج على ادلنطق‬
‫وىي مالئمة للحلوؿ احملتوية على كائنات وعالقات حيث ؽلكن من خالذلا سبثيل العالقات بُت األشياء‪ ,‬ذبميع وتنظيم ىذه العالقات‬
‫حىت الوصوؿ إذل استنتاج منطقي‪.‬‬

‫‪ 2.5‬عبارة هورن ‪Horn Clause‬‬


‫ربتوي على األكثر ذرة موجبة وظليز ثالثة أنواع كما يلي ‪:‬‬

‫‪ ‬عبارة ىورف التامة ‪ Strict‬من الشكل …‪ p  q  rs‬وتعرب عن القواعد‬


‫‪ ‬عبارة ىورف ادلوجبة ‪ positive‬من الشكل ‪ p‬وتعرب عن احلقائق‬
‫‪ ‬عبارة ىورف السالبة ‪ negative‬من الشكل …‪ q  rs‬وتعرب عن اذلدؼ ادلراد الوصوؿ إليو‪ .‬برىاف قاعدة‬
‫منطقية يف مسألة زلاكمة‬

‫‪14‬‬
‫‪ 6.2‬االستتباع ‪Entailment‬‬
‫نرمز لو ‪ KB  ‬حيث أف ‪ ‬ىي النتيجة ادلطلوب برىاهنا من قاعدة ادلعارؼ ‪.KB‬‬

‫ماذا يعٍت االستتباع ؟‬

‫أقوؿ أف ‪( KB‬قاعدة ادلعرفة) تستتبع ‪ ‬اذا وفقط اذا كانت ‪ ‬صحيحة حبيث تبقى ‪ KB‬صحيحة من أجل مجيع اجلمل ‪ ,‬أي‬
‫بصيغة أخرى أقوؿ أف ‪ KB‬يستتبع ‪ ‬اذا بقيت مجبع مجل ‪ KB‬صحيحة عندما تكوف ‪ ‬صحيحة‪.‬‬

‫حيث ‪ ‬العادل الذي ػلوي اجلملة اجلديدة باالضافة لقاعدة ادلعرفة حبيث ػلقق ‪:‬‬

‫)‪KB   iff M() contain M(KB‬‬

‫أي تكوف ‪ KB‬تستتبع ‪ ‬اذا وفقط اذا احتوت كل موديالت ‪ ‬على موديالت ‪KB‬‬

‫يتم برىاف االستتباع باستخداـ جدوؿ احلقيقة حيث أنو يف مجيع احلاالت اليت تكوف فيها قاعدة ادلعرفة صحيحة ‪ KB‬غلب أف‬
‫تكوف ‪ ‬صحيحة أيضا‪.‬‬

‫مسألة ذراع الرجل اآللي‬

‫ذراع رجل أرل تعمل على البطارية‪ ,‬مهمتها محل رلموعة من األوزاف ادلختلفة‪ ,‬لكن ىذه الذراع ال تتحرؾ إال إذا كانت البطارية‬
‫مشحونة والكتلة قابلة للحمل‪ .‬ادلطلوب برىاف أنو يكوف الوزف غَت قابل للحمل إذا كانت البطارية مشحونة والذراع ال تتحرؾ‪.‬‬

‫الحل‬

‫لننمذج ادلسألة‬

‫‪ .1‬البطارية مشحونة نرمزىا ‪BATOK‬‬


‫‪ .2‬الوزف قابل للحمل ‪LIFTABLE‬‬
‫‪ .3‬الذراع تتحرؾ ‪MOVES‬‬

‫القاعدة العامة (مجلة شرطية دوما) للمسألة وىي دوما صحيحة "إذا كانت البطارية مشحونة والوزف قابل للحمل فالذراع تتحرؾ" أي‬
‫‪:‬‬

‫‪BATOK  LIFTABLE  MOVES‬‬

‫‪15‬‬
‫اذلدؼ ‪ :‬يكوف الوزف غَت قابل للحمل إذا كانت البطارية مشحونة والذراع ال تتحرؾ (أي معرفة مىت يكوف الوزف غَت قابل للحمل)‬
‫أي ‪:‬‬

‫‪BATOK  MOVES  LIFTABLE‬‬

‫نشكل قاعدة ادلعرفة ‪: KB‬‬

‫‪BATOK‬‬

‫‪MOVES‬‬

‫‪BATOK  LIFTABLE  MOVES  BATOK  LIFTABLE  MOVES‬‬

‫األف سنربىن بطريقة االستتباع القاعدة العامة اليت يكوف فيها الوزف غَت قابل للحمل أي ‪KB  LIFTABLE‬‬

‫ننشأ جدوؿ احلقيقة للمسألة ‪:‬‬

‫‪B‬‬ ‫‪L‬‬ ‫‪M‬‬ ‫‪M‬‬ ‫‪B  L ‬‬ ‫‪L‬‬ ‫نتيجة االستتباع‬


‫‪M‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬

‫نبحث يف جدوؿ احلقيقة السابق عن احلاالت اليت تكوف فيها قاعدة ادلعرفة زلققة أي احلاالت اليت يكوف فيها كل من ‪:‬‬

‫‪B = T and M = T and B  L  M = T‬‬

‫يف ىذه احلاالت إذا كانت ‪ L = T‬فهذا يعٍت أف االستتباع صحيح‬

‫نالحظ ربقق االستتباع من خالؿ احلالة الوحيدة اليت تكوف كل من قاعدة ادلعرفة فيها زلققة و ‪ L‬زلققة أيضا‪.‬‬

‫‪16‬‬
‫ولكن نالحظ أف عدد أسطر جدوؿ احلقيقة ىي ‪ 2atoms‬كحد أدىن (على اعتبار عدـ وجود متحوالت إضافية على الذرات) فمثال‬
‫من أجل ‪ 11‬ذرات لدينا ‪ 1124‬سطر ومن أجل أعداد أكرب لدينا عدد أسطر أكرب وىذه مشكلة ‪ intractable‬يعٍت مشكلة‬
‫صعبة جدا‪ ,‬لذلك نلجأ إذل منهجية االستدالؿ وتكافئ االستتباع‪.‬‬

‫‪ 6.1‬االستدالل ‪Inference‬‬
‫نرمز لو ‪KB ├ i‬‬

‫تعريف ‪ :‬اجلملة ادلنطقية ‪ ‬ؽلكن الوصوؿ إليها من خالؿ تطبيق خوارزمية معينة على رلموعة ادلعارؼ يف اؿ ‪ KB‬حيث أف ىذه‬
‫اخلوارزمية تعتمد أف احلاسب يستطيع من خالؿ ادلعارؼ ادلوجودة لديو يف كل مرحلة استنتاج معرفة جديدة غَت موجودة مسبقا تضاؼ‬
‫إذل معارفو‪ .‬أي توليد صيغ جديدة من صيغ قدؽلة‪.‬‬

‫االستدالؿ ىو استنتاج مجلة (صيغة) جديدة غَت موجودة باألصل من رلموعة الصيغ ادلوجودة لدي من خالؿ تطبيق خوارزمية تعتمد‬
‫على ادلعارؼ ادلوجودة لدي لتعطينا صيغة منطقية جديدة ذلا ‪ Syntax‬سلتلف ولكن نفس اؿ ‪.Semantic‬‬

‫رلموعة القواعد ادلعتمدة يف االستدالؿ ‪:‬‬

‫‪RULE‬‬ ‫‪PREMISE‬‬ ‫‪CONCLUSION‬‬

‫‪Modus Ponens‬‬ ‫‪A, A  B‬‬ ‫‪B‬‬

‫‪And Introduction‬‬ ‫‪A, B‬‬ ‫‪AB‬‬

‫‪And Elimination‬‬ ‫‪AB‬‬ ‫‪A‬‬

‫‪Double Negation‬‬ ‫‪A‬‬ ‫‪A‬‬

‫‪Unit Resolution‬‬ ‫‪A  B, B‬‬ ‫‪A‬‬

‫‪Resolution‬‬ ‫‪A  B, B  C‬‬ ‫‪AC‬‬

‫‪ Premise‬ىي فرضيات موجودة وأقبل بصحتها دائما‪.‬‬

‫‪ Conclusion‬النتيجة اليت استطيع معرفتها بناء على ‪ Premise‬ادلوجودة لدي‪.‬‬

‫‪17‬‬
‫‪ 2.6.2‬قاعدة ‪Resolution‬‬
‫لدينا الفرضيات التالية "واليت أقبل بصحتها" ‪:‬‬

‫‪A  B = true‬‬

‫‪B = true‬‬

‫وبالتارل أستنتج أف ‪( A = true‬ألف ‪ B = false‬و ‪)A  B = true‬‬

‫تعميم قاعدة ‪Resolution‬‏‬

‫لدينا ‪x1  x2  …  x(i-1)  xi  x(i+1) … xj‬‬

‫ولدينا ‪xi‬‬

‫بالتارل استنتج صيغة جديدة ىي ‪x1  x2  …  x(i-1)  x(i+1) … xj‬‬

‫عملية االستدالؿ ذلا منهجُت يف احلل وعلا ‪ Forward chaining‬و ‪Backward chaining‬‬

‫‪Forward chaining 1.7.2‬‬


‫ننطلق من الفرضيات وادلعارؼ ادلوجودة لدينا لتوليد صيغ جديدة وإضافتها للمعارؼ حىت الوصوؿ للهدؼ‪.‬‬

‫مثال‬

‫باستخداـ اؿ ‪ Forward chaining‬برىن يف مسألة الرجل اآلرل أف الصيغة التالية صحيحة‪.‬‬

‫‪BATOK  MOVES  LIFTABLE‬‬

‫‪KB = BATOK, MOVES, BATOK  MOVES  LIFTABLE‬‬

‫سأنطلق من ادلعارؼ ادلوجودة لدينا لتوليد صيغ جديدة حىت أصل إذل اذلدؼ وىو ‪LIFTABLE‬‬

‫لدينا ‪BATOK  MOVES  LIFTABLE :‬‬

‫‪BATOK‬‬

‫استنادا إذل قاعدة ‪ Resolution‬ينتج لدينا صيغة جديدة ‪MOVES  LIFTABLE‬‬

‫‪18‬‬
‫اآلف لدينا ‪MOVES  LIFTABLE :‬‬

‫‪MOVES‬‬

‫استنادا إذل قاعدة ‪ Resolution‬ينتج لدينا صيغة جديدة ‪LIFTABLE‬‬

‫‪B‬‬ ‫‪M BLM‬‬

‫‪B v L‬‬
‫‪L‬‬

‫مالحظة ‪ :‬قاعدة ‪ Resolution‬ال تكفي حلل مجيع مسائل ادلنطق من الدرجة ‪ ,0‬وؽلكن برىنة ذلك بإعطاء أي مثاؿ ال تستطيع‬
‫ىذه القاعدة أف تربىنو‪ .‬مثالً ‪:‬برىن أف ‪A  B  B‬‬

‫‪Backward Chaining 6.2.3‬‬

‫بعكس سابقتها ىنا نبدأ الربىنة من اذلدؼ‪ ,‬وتعتمد ىذه ادلنهجية على طريقة ‪ Resolution Refutation‬واليت تنص على ‪:‬‬

‫‪ -1‬ننفي اذلدؼ )‪ (α‬ونضيفو إذل قاعدة ادلعارؼ ادلوجودة لدينا ‪ KB‬فتصبح ‪:‬‬

‫‪New KB :‬‬ ‫‪KB‬‬ ‫‪‬‬

‫"وبالتارل عند نفي اذلدؼ وإضافتو لقاعدة ادلعارؼ فإننا نقبل بصحة اجلملة ادلعربة عن نفي اذلدؼ" (نقض الفرض)‬

‫‪-2‬نربىن باستخداـ طريقة الػ ‪ Resolution‬على ‪ New KB‬أننا سنحصل على تناقض يف ادلعارؼ نسميو ‪.false‬‬
‫‪-3‬التناقض‪ :‬يف مرحلة من مراحل الػ ‪ Resolution‬سيتم توليد صيغة جديدة ما (وبالتارل القبوؿ بصحتها) وبنفس الوقت سنجد أف‬
‫قاعدة ادلعارؼ ربوي نفي ىذه الصيغة وبالتارل أصبحت قاعدة ادلعارؼ ربوي الصيغة ونفيها وىذا خطأ إذاً نكوف قد برىنّا أف نفي‬
‫اذلدؼ ىي صيغة خاطئة وبالتارل اذلدؼ حبد ذاتو زلقق‪.‬‬

‫‪B‬‬ ‫‪M B v L v M‬‬ ‫‪L‬‬

‫‪B v M‬‬

‫‪B‬‬

‫‪False‬‬

‫‪19‬‬
20
‫الفصل الثالث‬
‫المنطق من الرتبة األولى‬

‫‪ 1.3‬الفرق بين منطق حساب الفرضيات والمنطق من الرتبة األولى‬


‫‪ 2.3‬العناصر ‪ syntax‬المتضمنة في منطق الرتبة األولى‬
‫‪ 3.3‬أمثلة على نمذجة جمل بسيطة‬
‫‪ 4.3‬خوارزمية التوحيد‬

‫‪21‬‬
‫الفصل الثالث‪ :‬المنطق من الرتبة األولى‬

‫‪ 1.3‬الفرق بين منطق حساب الفرضيات والمنطق من الرتبة األولى‬


‫بالنسبة دلنطق حساب الفرضيات فهو منطق بسيط ال ؽلكن اعتماده يف ربقيق مجيع معارفنا وحلل مجيع مسائلنا الواقعية‪ ,‬فإنو يقوـ‬
‫بًتمجة كل شيء إذل عبارات ويقوـ بدراسة صحتها‪ .‬يفًتض أف كل شيء بالوجود عبارة عن حقيقة ( ‪ )fact‬أو عبارة عن قاعدة‬
‫)‪(rule‬أو تساؤؿ )‪ (query‬يريد أف يسأؿ عن صحتو‪ ,‬أي مجيع العبارات فيو ترد إما ‪ true‬أو ‪ ,false‬لذلك ىو عاجز عن‬
‫التعبَت بشكل دقيق عن كل مسائلنا الواقعية‪ ,‬ففي بعض ادلسائل ضلتاج إذل أكثر من ذلك حىت نستطيع ظلذجة مسألة معينة وحلها ‪.‬أما‬
‫بالنسبة للمنطق من الرتبة األوذل فهو قريب من طريقة تفكَتنا كبشر‪ ,‬ؽلكن اعتبار أف اللغات الطبيعية زبضع ذلذا ادلنطق‪ ,‬وتسمى‬
‫‪predicate calculus‬أي حساب القضايا‪.‬‬

‫يفًتض أف العادل يتكوف من ‪:‬‬

‫‪ .1‬كائنات ‪ Objects:‬الناس‪,‬البيوت‪,‬األرقاـ‪,‬النظريات‪,‬ادلطاعم‪,‬األلواف ‪....‬إخل‬


‫‪ .2‬عالقات ‪ Relations:‬عالقات بُت اؿ ‪ Objects‬وردبا لل ‪ Object‬الواحد مثل عالقة أكرب من‪ ,‬أصغر من‪ ,‬أخ‪,‬‬
‫أمحر (ىي عالقة أحادية ذلا طرؼ واحد(‪ ,‬ابتدائي ‪....‬إخل‬
‫‪ .3‬توابع ‪ Functions:‬أب ؿ‪ ,‬أفضل صديق ؿ‪ ,‬أكرب بواحد من ‪....‬إخل‬

‫‪ 1.2‬العناصر ‪ syntax‬المتضمنة في منطق الرتبة األولى‬

‫‪ ‬ثوابت ‪ : Constants‬مثل أمحد‪ ,‬سعيد ‪ ...‬تبدأ بأحرؼ كبَتة ‪ Capital letter‬بعكس اؿ ‪.prolog‬‬
‫‪ ‬قضايا ‪ : Predicates‬تعرب عن عالقة بُت عدة أشياء مثال أمحد ومسر وخالد علا طالب فنكتب ‪Student :‬‬
‫)‪ (Ahmad, Samer, Khaled‬أو مثال ىدى ربب الفواكو فنكتب ‪:‬‬
‫)‪ Like(Huda, Fruit‬وليس شرط أف تكوف عالقة مثال نريد أف نعرب أنو لدينا إنساف فنكتب )‪H(x‬‬
‫‪ ‬متحوؿ ‪ : variable‬مثل ‪ x,y,z‬ويكونوا بأحرؼ صغَتة ‪.small letter‬‬
‫‪ ‬تابع ‪ : Function‬لديو دخل وخرج مثال لدي التابع ‪ f(x,y,z)  u‬حيث من الواضح أف ‪ x,y,z‬ىم الدخل و‪u‬‬
‫ىو اخلرج‪.‬‬
‫‪ ‬ادلكممات ‪ : Quantifiers‬مهما يكن ∀‪ ,‬يوجد ∃‬
‫‪ ‬أحرؼ العطف ‪ Connectives‬ادلوجودة لدينا مسبقا ‪:‬‬
‫])‪[not(¬), and(), or(), implies(), if and only if(biconditional ‬‬

‫‪22‬‬
‫اآلف سنعرؼ مجلنا على ظلط الشكل األيت ‪:‬‬
‫))‪∀x ∃y ∃z P(Toto , x , f(y,z))  Q(x,y)T(x,f(z‬‬
‫))‪ : P(Toto , x , f(y,z‬عالقة بُت ثابت امسو ‪ Toto‬ومتحوؿ ‪ x‬وتابع )‪f(y,z‬‬
‫)‪ : Q(x,y‬عالقة بُت ادلتحولُت ‪.x , y‬‬
‫))‪ : T(x,f(z‬عالقة بُت التابع ‪ f‬وادلتحوؿ ‪.x‬‬
‫معٌت اجلملة ‪:‬‬
‫أيا كاف ‪ x‬يوجد ‪ y‬ويوجد ‪ z‬حبيث ربقق العالقة ))‪ P(Toto, x , f(y,z‬والعالقة )‪ Q(x,y‬معا يقتضي ربقق العالقة‬
‫))‪.T(x,f(z‬‬

‫‪ 2.2‬أمثلة على نمذجة جمل بسيطة‬

‫مثال ‪2‬‬
‫كل إنساف فاف وأنا أعلم أف سقراط إنساف إذا ھذا يقتضي أف سقراط فاف‬
‫ادلطلوب ظلذجة ىذه ادلسألة البسطة‪.‬‬
‫ببساطة أعرب عن العبارة (كل إنساف فاف) باجلملة ‪:‬‬
‫)‪∀x H(x) → D(x‬‬
‫حيث يعرب الرمز )‪ H(x‬عن اإلنساف والرمز )‪ D(x‬عن الفناء‬
‫أعرب عن سقراط إنساف بالرمز ‪:‬‬
‫)‪H(S‬‬
‫أعرب عن الربىاف بأف (سقراط فاف) بالرمز ‪:‬‬
‫)‪D(S‬‬

‫مثال ‪1‬‬
‫مجيع الطالب أذكياء )‪ : ∀x S(x)  T(x‬أي مهما يكن ‪ x‬شخص فإذا كاف طالب ← أنو ذكي ‪.‬‬
‫جد طالب وكاف ذكي ‪.‬‬
‫بعض الطالب أذكياء )‪ : ∃x S(x)∧ T(x‬أي ىناؾ عالقة قيمتها صحيحة أذا ُو َ‬
‫مالحظة هامة‬
‫مع مهما يكن ∀ نستخدـ عالقة إقتضاء ‪‬‬

‫مع يوجد ∃ نستخدـ عالقة ∧‬

‫‪23‬‬
‫مثال ‪2‬‬

‫‪ Mary Likes the Color of one of Jack’s Ties‬ماري ربب لوف واحدة من كرافات جاؾ‬

‫الثوابت ‪Mary ,Jack : Constants‬‬

‫التوابع ‪ color(x) : Function‬تابع لوف الكرافة دخلو ىو الكرافة وخرجو لوهنا‬

‫القضايا ‪: predicates‬‬

‫عالقة حب بُت ماري و لوف كرافة إذا نكتب ))‪Like(Mary, color(x‬‬

‫)‪ Own(Jack,x‬عالقة ملكية بُت جاؾ وكرافاتو‬

‫)‪ Tie(x‬أي ‪ x‬عبارة عن كرافة‬

‫تصبح اجلملة النهائية ىي ‪:‬‬

‫))‪∃x Tie(x) ∧ Own(Jack,x) ∧ Like(Mary,color(x‬‬

‫لو استبدلت ∃ ب ∀ سوؼ تصبح مجليت ‪ :‬ماري ربب كل ألواف كرافات جوف ‪ ,‬أي شو ماكاف لوف كرافات جوف فهي رببو‬
‫جملرد أف الكرافة تعود ملكيتها جلوف‪.‬‬

‫مالحظة شائعة‬
‫‪ ∀x ∃y‬ليست تبديلية أي أف ‪ ∀x ∃y ≠ ∃y ∀x‬لنأخذ مثاؿ السبب ‪:‬‬

‫)‪ ∀x ∃y Human(x) → High(x,y‬تعٍت ‪ :‬كل إنساف لو طوؿ ‪ ,‬ولكن لو أخذناھا بالشكل ‪:‬‬

‫)‪ ∃y ∀x Human(x) → High(x,y‬تصبح ‪ :‬كل إنساف لو نفس الطوؿ‪.‬‬

‫مثال ‪3‬‬

‫)‪ ∀x ∃y likes(x,y‬ھو ظلذجة للجملة ) ‪.( Everyone likes someone‬‬

‫)‪ ∃y ∀x likes(x,y‬ھو ظلذجة للجملة )‪.(someone is liked by everyone‬‬

‫‪24‬‬
‫مثال ‪4‬‬

‫‪ You can fool some of the people all of the time‬بالعريب ‪ :‬تستطيع خداع بعض الناس كل الوقت‬

‫)‪∃x ∀t ( person(x)  time(t) ) →can-fool(x,t‬‬

‫اذا عندي ‪ person‬وعندي ‪ time‬وعندي عالقة بُت الشخص وبُت الوقت (اخلداع)‬

‫لو كانت اجلملة ‪you can fool all of the people some of the time‬‬

‫بالعريب ‪ :‬تستطيع خداع كل الناس بلحظة معينة‬

‫)‪∀x ∃t ( person(x)  time(x) ) → can-fool(x,t‬‬

‫مثال ‪5‬‬

‫‪all packets in room 27 are smaller than any packets in room 28‬‬

‫بالعريب ‪ :‬كل الصناديق ادلوجودة يف الغرفة ‪ 27‬أصغر من أي صندوؽ يف الغرفة ‪28‬‬

‫)‪∀x ∀y (p(x)  p(y)  In(x,27)  In(y,28) ) → smaller(x,y‬‬

‫بينما إذا كانت اجلملة ىي ‪:‬‬

‫‪all packets in room 27 are smaller than some packets in room 28‬‬

‫بالعريب ‪ :‬كل الصناديق يف الغرفة ‪ 27‬أصغر من بعض الصناديق يف الغرفة ‪28‬‬

‫)‪∀x ∃y (p(x)  p(y)  In(x,27)  In(y,28) ) → smaller(x,y‬‬

‫‪ 3.2‬خوارزمية التوحيد‬
‫لنأخذ اجلملة السابقة يلي مرت معنا ‪:‬‬

‫)‪∀x ∀y (p(x)  p(y)  In(x,27)  In(y,28) ) → smaller(x,y‬‬

‫ليكن لدينا ‪ p(A) :‬من البديهي أف نستنتج أف الصندوؽ ‪ A‬إما أف يكوف يف الغرفة ‪ 27‬أو الغرفة ‪ 28‬يعٍت ‪:‬‬

‫‪25‬‬
‫)‪In(A,27)In(B,28‬‬

‫لنفًتض أف لدينا أيضا ‪ p(B) :‬ونعلم أف )‪ In(B,27‬و )‪ smaller(B,A‬أي الصندوؽ ‪ B‬أكرب من الصندوؽ ‪A‬‬

‫إذا أصبحت قاعدة ادلعرفة ‪:‬‬

‫)‪P(A) p(B) In(A,27)  In(A,28‬‬ ‫)‪In(B,27‬‬ ‫)‪ smaller(B,A‬‬

‫نريد برىاف أف ‪In(A,27):‬‬

‫يتم الربىاف باستخداـ عملية التوحيد أي إذا كاف لدينا حدين سلتلفُت ظاىريا يكونوا قابلُت للتوحيد إذا جعلناىم متساويُت وذلك‬
‫باستبداؿ متحوؿ دبتحوؿ أو متحوؿ بثابت أو متحوؿ بتابع‪.‬‬

‫مثال‬

‫)‪∀z P(Titi , f(Mimi) , z )  S(z‬‬

‫)‪∀x ∀y ∀u P(x , f(y) , Toto)  Q(x , u , y‬‬

‫ضلن ندعي أف ھذين احلدين قابلُت للتوحيد إذا استبدلت كل متحوؿ ‪ x‬بالثابت ‪ Titi‬وكل متحوؿ ‪ y‬بالثابت ‪ Mimi‬وكل‬
‫متحوؿ ‪ z‬بالثابت ‪: Toto‬‬

‫)‪∀z P(Titi , f(Mimi) ,Toto )  S(Toto‬‬

‫)‪∀x ∀y ∀u P(Titi , f(Mimi) , Toto)  Q(Titi , u , Mimi‬‬

‫نالحظ أننا نستطيع اختصار اجلزء األوؿ من احلد األوؿ مع اجلزء األوؿ من احلد الثاين ألفھـ أصبحوا متساويُت فيكوف اجلواب ‪:‬‬
‫)‪S(Toto)  Q(Titi , u , Mimi‬‬

‫مالحظات تتعلق باالستبدال‬


‫‪ -‬النستطيع استبداؿ ثابت أو تابع ‪ ,‬فقط نستطيع استبداؿ متحوؿ بثابت أو بتابع‪.‬‬
‫‪ -‬إذا كاف لقضيتُت عدد سلتلف من الوسائط يكونا غَت قابليت للتوحيد مثال لو كاف عندي احلدين‪:‬‬
‫)‪ P(x , f(B) , B , z‬و )‪ P(A , f(y) , B‬ھؿ ھما قابلُت للتوحيد ؟ اجلواب ال ‪ ,‬ألفھ ليس ؿھـ نفس العدد من‬
‫الوسائط‪.‬‬

‫مثاؿ ثاين ‪ :‬ليكن لدي احلدين‪:‬‬

‫‪26‬‬
‫)‪ P(x , f(B) , B), P(A , f(y) , B‬ھؿ ھما قابلُت للتوحيد ؟ اجلواب نعم‬
‫حيث نستبدؿ بكل متحوؿ ‪ x‬الثابت ‪A‬‬
‫وبكل متحوؿ ‪ y‬الثابت ‪ B‬فيصبح احلدين‪P(A , f(B) , B) :‬‬

‫كماف مثاؿ ‪ :‬ليكن احلدين ‪:‬‬

‫)‪ P(A , f(y) , B),P(z , f(C) , B‬طبعا ضمنيا ادلتحوالت ‪ z , y‬متممة ب∀ ‪.‬‬

‫السؤاؿ ھؿ احلدين قابلُت للتوحيد ؟ اجلواب نعم ‪ ,‬نستبدؿ كل متحوؿ ‪ y‬بالثابت ‪ C‬وكل متحوؿ ‪ z‬بالثابت ‪ A‬فيصبح احلدين‬
‫بالشكل ‪P(A, f(C), B) :‬‬

‫مثاؿ كماف ‪ :‬ليكن لدي احلدين اآلتيُت ‪:‬‬

‫)‪ P(A , f(B) , B),P(x , z , T‬ھؿ ھما قابلُت للتوحيد ؟‬

‫لنرى معا‪ ,‬نستبدؿ ادلتحوؿ ‪ x‬بالثابت ‪ A‬ونستبدؿ ادلتحوؿ ‪ z‬بالتابع )‪ f(B‬و لكننا ال نستطيع أف نستبدؿ الثابت ‪ B‬وال الثابت‬
‫‪ T‬ببعضھما ألف كالھما ثابت ‪ ,‬إذا احلدين غَت قابلُت للتوحيد ألننا دل نستطيع أف صلعلهم متساويُت‪.‬‬

‫ومثاؿ ثاين ‪ :‬ليكن لدينا احلدين‪:‬‬

‫)‪ P(A , f(y) , y),P(z , f(C) , B‬والسؤاؿ التقليدي ھؿ احلدين قابلُت للتوحيد ؟‬

‫ظلشي خطوة خطوة مع بعض‪ ,‬أوال نستبدؿ ادلتحوؿ ‪ z‬بالثابت ‪ A‬مث نستبدؿ ادلتحوؿ ‪ y‬بالثابت ‪ C‬فيصبح لدينا احلدين بالشكل‬

‫)‪ P(A , f(C) , C),P(z , f(C) , B‬ولكن نالحظ أف الوسيط الثالث دل يتساوا يف كال احلدين‬

‫حيث أصبح لدي الثابت ‪ B‬والثابت ‪ C‬وكالھما غَت قابل للتبديل ‪ ,‬إذا احلدين غَت قابلُت للتوحيد‪.‬‬

‫عندي التعبَت التارل أريد ربويلو للشكل النظامي )‪CNF (Conjunction Normal Form‬‬

‫) ] ) ) )‪∀x (P(x) → [( ∀y P(y) → P(f(x,y)) )  ( (∀z Q(x,z) → P(z‬‬

‫اخلطوة األوذل ‪ :‬نلغي االقتضاء والتكافؤ بنفس الطريقة اليت كنا نتخلص منهما باحملاضرات السابقة‬

‫) ] ) ))‪∀x (P(x)  [( ∀y P(y)  P(f(x,y)) )  ( (∀z Q(x,z)  P(z‬‬

‫‪27‬‬
‫اخلطوة الثانية ‪ :‬التخلص من النفي)بتوزيعها على األقواس (‪ ,‬ولكن قاعدة صغَتة غلب ذكرھا‪:‬‬

‫) ( ‪ ∃z ( ) ← ∀z‬سوؼ نطبقها اآلف‬

‫) ] ) )‪∀x (P(x)  [( ∀y P(y)  P(f(x,y)) )  ( ∃z Q(x,z)  P(z‬‬

‫اخلطوة الثالثة ‪ :‬حذؼ ∃ ‪ ,‬ولكن أيضا ھناؾ عدة قواعد ذكرهنا‪.‬‬

‫‪ -‬إذا كاف لدي )‪ ∃z P(z‬نستطيع أف نستبدؿ بدال منها ثابت وليكن )‪P(C‬‬
‫‪ -‬إذا كاف لدي )‪ ∀x ∃z P(z,x‬ال نستطيع أف نستعيض عنها بثابت ألف ىنا ادلتحوؿ ‪ z‬تابع للمتحوؿ ‪ x‬لذا يتم‬
‫االستبداؿ بالشكل ‪∀x P(f(x) , x) :‬‬
‫‪ -‬إذا كاف لدي )‪ ∀x ∀y ∃z P(z,x‬ھنا أصبح ادلتحوؿ ‪ z‬لكال ادلتحولُت ‪ x , y‬لذا يتم االستبداؿ بالشكل ‪:‬‬

‫) ‪∀x ∀y P(f(x,y) , x‬‬

‫منرجع للتعبَت يلي عنا ‪ ,‬منالحظ الشكل ‪ ∀x ∃z Q(x,z) :‬إذا بعد استبدالو سيصبح بالشكل‪:‬‬

‫))‪ ∀x Q(x , g(x‬إذا التعبَت ككل يصبح ‪:‬‬

‫) ] ) ))‪∀x (P(x)  [( ∀ y ¬P(y)  P(f(x,y)) )  ( Q(x , g(x))  P(g(x‬‬

‫اخلطوة الرابعة ‪ :‬ال أكب ∀ ألننا نفًتض وجودھا أصال حيث ال ؽلكن أف تكوف ادلتحوالت بالشكل النظامي متممة إال ب∀‬

‫] ))‪¬P(x)  [( P(y)  P(f(x,y)) )  Q(x , g(x))  ¬P(g(x‬‬

‫اخلطوة اخلامسة ‪ :‬توزيع اؿ ‪ or‬على اؿ ‪and‬‬

‫) ))‪(P(x)  ¬P(y)  P(f(x,y) )  (P(x)  Q(x , g(x)) )  (P(x) v P(g(x‬‬

‫اخلطوة السادسة ‪ :‬نعيد تسمية ادلتحوؿ يف أحد اجلملتُت إذا ورد يف مجلتُت سلتلفتُت‬

‫) ))‪(P(x)  P(y)  P(f(x,y) )  (P(z)  Q(z , g(z)) )  (P(t)  P(g(t‬‬

‫ىال منرجع دلسألتنا ‪:‬‬

‫)‪∀x ∀y P(x)  P(y)  In(x , 27)  In(y ,28) → Smaller(x , y‬‬

‫‪28‬‬
‫منحوؿ اجلملة للشكل نظامي ‪ ,‬لتصبح ‪:‬‬

‫)‪P(x)  P(y)  In(x , 27)  In(y ,28)  Smaller(x , y‬‬

‫يعٍت بس شلنا االقتضاء و وزعنا النفي على األقواس وذباھلنا كتابة∀‬

‫طيب خلينا نضيف على قاعدة ادلعرفة نفي اذلدؼ حل تصبح بالشكل‪:‬‬

‫نبدأ احلل يلي ذلا عالقة بالقصة وھو )‪ In(A,27‬وھو نفي اذلدؼ وحل شوؼ مع مُت بقدر آخذه ‪ ,‬بالقي احلد‬
‫)‪ In(A , 27)  In(A , 28‬وحل يطلع الناتج بعد اختصار القضية مع نفيها )‪ In(A,28‬حل مع مُت بدي آخذ الناتج‬
‫بالقي أين بقدر آخذه مع احلد )‪ P(x)  P(y)  In(x , 27)  In(y ,28)  smaller(x , y‬ولكن‬
‫بعد استبداؿ ادلتحوؿ ‪ y‬ادلوجود يف احلد الناتج بالثابت ‪ A‬فبيطلع الناتج بعد االختصار‪.‬‬

‫‪29‬‬
‫)‪ P(x)  P(A)  In(x , 27)  smaller(x , A‬يقالب أين بقدر آخذ ھذا الناتج مع احلد‬
‫)‪ smaller(B , A‬ولكن بعد استبداؿ ادلتحوؿ ‪ x‬ادلوجود يف احلد الناتج بالثابت ‪ B‬بعد التساوي أستطيع االختصار فينتج‬
‫لدي )‪P(B)  P(A)  In(B , 27‬أستطيع أف آخذ ھذا الناتج مع احلد )‪ P(B‬فينتج لدينا‬
‫)‪ P(y)  In(B , 27‬بقدر أخذه مع احلد )‪ P(A‬فينتج لدينا )‪ In(B , 27‬آخذه مع احلد األخَت ادلتبقي‬
‫)‪ In(B , 27‬وبالتارل بينتج لدينا ‪ null‬معناهتا اذلدؼ صحيح‪.‬‬
‫‪ -‬سنأخذ مسألة أخرى‪:‬‬
‫‪We know the following facts about some elephant:‬‬
‫‪- Sam is pink .‬‬
‫‪- Clyde is gray and likes Oscar.‬‬
‫‪- Oscar is either pink or gray and likes Sam .‬‬
‫?‪Query: Who is the gray elephant who likes a pink elephant‬‬
‫كيف سأظلذج ھذه ادلسألة؟ ) الحظوا أف ھذه ادلسألة من النمط ‪ , (Query‬دبا أف مسأليت من النمط ‪ Query‬فسوؼ أضيف‬
‫لنفي اذلدؼ شغلة ثانية وىي اجلواب أي ‪answer‬‬
‫‪ (Sam is pink) (1‬تصبح‪P(Sam) :‬‬

‫‪ (Clyde is gray) (2‬تصبح‪G(Clyde) :‬‬

‫‪ (Clyde likes Oscar) )3‬تصبح‪Likes(Clyde, Oscar) :‬‬

‫‪ (Oscar is either pink or gray) )4‬تصبح‪P(Oscar)  G(Oscar) :‬‬

‫‪ (Oscar likes Sam) )5‬تصبح‪Likes(Oscar,Sam) :‬‬

‫‪ )6‬ظلذجة اذلدؼ تكوف بالشكل‪x y G(x)  P(y)  Likes(x,y) :‬‬

‫ننفي اذلدؼ‪x y G(x)   Likes(x,y)  G(x)  P(y)  Likes(x,y)  Ans(x,y) :‬‬


‫)‪P(y‬‬

‫كما رأينا لقد وزعنا النفي على اجلملة السابقة مث زبلصنا من ادلتمم ‪ ‬باستبداؿ ‪ ‬بادلتتم ‪ ‬ونفي ما بعدىا وبعد ذلك أعللنا‬
‫ادلتمم ‪‬‬
‫سنبدأ إغلاد احل ل بطريقة قاعدة النقض‪ ,‬ولكن أحب أف أذكر مالحظة وىي أننا إذا حاولنا إغلاد احلل دبنطق عقلنا سنجد أف اإلجابة‬
‫الصحيحة شلكن أف تكوف إحدى اإلجابتُت‪ :‬إما )‪ Ans(Oscar,Sam‬أو )‪ Ans(Clyde,Oscar‬إذا من ادلمكن أف يكوف‬
‫لدي أكثر من إجابة صحيحة‪.‬‬

‫‪30‬‬
‫)‪P(Sam‬‬ ‫)‪G(Clyde‬‬ ‫)‪Likes(Clyde,Oscar) P(Oscar) v G(Oscar‬‬
‫)‪Likes(Oscar,Sam) G(x) v P(y) v Likes(x,y) v Ans(x,y‬‬

‫‪y/Oscar‬‬
‫‪x/Clyde‬‬

‫)‪G(Clyde) v P(Oscar) v Ans(Clyde,Oscar‬‬

‫)‪P(Oscar) v Ans(Clyde,Oscar‬‬

‫)‪Ans(Clyde,Oscar) v G(Oscar‬‬

‫نالحظ أنو دل يتبق لنا خيارات أخرى مع آخر ناتج وصلنا لو فما العمل إذا؟‬
‫إذا الحظنا اننا عندما أخذنا مجلة نفي اذلدؼ وىي اجلملة )‪ ( 6‬آخذناھا مع اجلملة )‪ , ( 3‬ولكن كاف أمامنا خيارا آخر وھو أف‬
‫آخذ نفي اذلدؼ اجلملة )‪ (6‬مع اجلملة )‪ , ( 5‬ولكن الناتج السابق الذي نتج معي قبل قليل لن أھملو وإظلا سأضعو مؤقتا على‬
‫جنب وأبدأ احلل بالطريق اآلخر ادلتاح رل‪:‬‬

‫)‪P(Sam‬‬ ‫)‪G(Clyde‬‬ ‫)‪Likes(Clyde,Oscar) P(Oscar) v G(Oscar‬‬


‫)‪Likes(Oscar,Sam) G(x) v P(y) v Likes(x,y) v Ans(x,y‬‬

‫‪y/Oscar‬‬
‫‪x/Sam‬‬

‫)‪G(Oscar) v P(ِSam) v Ans(Oscar,Sam‬‬

‫)‪G(Oscar) v Ans(Oscar,Sam‬‬

‫نالحظ أنو ھنا أيضا توقف لدي احلل ‪ ,‬إذا سوؼ آخذ مجلة الناتج السابق مع مجلة الناتج احلارل‬

‫‪31‬‬
Ans(Clyde,Oscar) v G(Oscar) G(Oscar) v Ans(Oscar,Sam)

Ans(Clyde,Oscar) v Ans(Oscar,Sam)

:‫مسألة أخرى‬
Problem Student: Tony, Shi-Kue and Ellen belong to the Hoofers Club. Every
member of the Hoofers Club is either a skier or a mountain climber or both. No
mountain climber likes rain, and all skiers like snow. Ellen dislikes whatever Tony
likes and likes whatever Tony dislikes. Tony likes rain and snow.
Query: Is there a member of the Hoofers Club who is a mountain climber but not a
skier?
‫ ال أحد من‬, ‫ كل عضو يف النادي إما أف يكوف متزجل أو متسلق جباؿ أو كليهما‬, ‫طوين وشي كيو والُت أعضاء يف نادي ىوفرز‬
.‫ طوين ػلب ادلطر وػلب الثلج‬,‫الُت ال ربب األشياء اليت ػلبها طوين‬, ‫ كل ادلتزجلُت ػلبوف الثلج‬, ‫متسلقي اجلباؿ ػلب ادلطر‬
‫ ىل يوجد بُت أحد األعضاء من ىو متسلق جباؿ وليس متزجل بنفس الوقت ؟‬:‫السؤاؿ‬
:‫سننمذج احلقائق اليت لدينا يف ىذه ادلسألة‬

1) Every member is either a skier or a mountain climber


x S(x)  M(x)
2) No mountain climber likes rain
x M(x)  L(x, rain)
3) All skiers like snow
x S(x)L(x,Snow)
(and( ‫ يرافقو‬ ‫ يرافقها (اقتضاء) وعندما يكوف ادلتمم‬ ‫ عندما يكوف لدينا ادلتمم‬:‫تذكرة‬
4) Ellen dislikes whatever Tony likes
x L(Tony,x)¬L(Ellen,x)
5) Ellen likes whatever Tony dislikes
x ¬L(Tony,x)L(Ellen,x)
6) Tony likes snow
L(Tony,Snow)
7) Tony likes rain
L(Tony,Rain)
: ‫ سننفي اذلدؼ‬x M(x)  S(x) :‫نأيت األف لنمذجة اذلدؼ‬
8) M(x)  S(x)  Ans(x)

32
‫سنكتب اجلمل السبعة بالشكل النظامي مث سنوجد احلل بطريقة قاعدة النقض باحلل ‪:‬‬

‫إذا كما الحظنا لقد استخدمنا اجلمل أكثر من مرة لنصل إذل اجلواب وىذا صحيح سباما إذا أف احلقيقة تبقى دوما حقيقة سواء‬
‫استفدنا منها مرة أو أكثر فإننا نستطيع استخدامها دوما‪.‬‬

‫‪33‬‬
‫تمارين ومسائل‬

‫السؤال األول ‪:‬‬

‫حوؿ الصيغة التالية إذل شكل العطف النظامي ‪CNF :‬‬

‫))‪(∀x P(x) ⇒ Q(A)) ⇒ (∃x P(x) ⇒ Q(A‬‬

‫) )‪¬ (∀x ¬P(x) ∨ Q(A)) ∨ (∃x ¬P(x) ∨ Q(A‬‬

‫))‪(∃x P(x) ∧ ¬Q(A)) ∨ (∃x ¬P(x) ∨ Q(A‬‬

‫))‪(P(c1) ∧ ¬Q(A)) ∨ (¬P(c2) ∨ Q(A‬‬

‫)‪P(c1)∨¬P(c2)∨Q(A) ∧ ¬Q(A)∨¬P(c2)∨Q(A‬‬

‫)‪ P(c1)∨¬P(c2)∨Q(A‬‏‬

‫السؤال الثاني ‪:‬‬


‫‪: We have the following facts‬‬
‫‪1. Some patients like all doctors‬‬
‫‪2. All patients do not like quacks‬‬
‫‪Prove that : No doctor is quack‬‬

‫لدينا مسألة ربوي احلقائق التالية ‪:‬‬

‫بعض ادلرضى ربب كل األطباء‪.‬‬

‫كل ادلرضى ال ربب الدجالُت‪.‬‬

‫السؤاؿ ‪ :‬ىل (اذلدؼ) ال يوجد طبيب دجاؿ صحيح‪.‬‬

‫اخليارات‪ :‬نعم‪ ,‬ال‪ ,‬ال ؽلكن الربىاف‪ ,‬مجيع اإلجابات خاطئة‪ ,‬مجيع اإلجابات صحيحة‪.‬‬

‫‪34‬‬
‫احلل ‪:‬‬

‫القضايا اليت لدينا ىي ‪:‬‬

‫)‪ D(x‬أي أف ‪ x‬ىو طبيب‬

‫)‪ Q(x‬أي أف ‪ x‬ىو دجاؿ‬

‫)‪ L(x,y‬أي أف ‪ x‬ػلب ‪y‬‬

‫العبارة اليت تقابل اجلملة األوذل (بعض ادلرضى ػلبوف مجيع األطباء) ىي ‪:‬‬

‫))‪x P(x)  (y D(y)  L(x,y‬‬

‫العبارة اليت تقابل اجلملة الثانية (مجيع ادلرضى ال ػلبوف الدجالُت) ىي ‪:‬‬

‫)‪x y P(x)  Q(y)  L(x,y‬‬

‫أما اذلدؼ (ال يوجد طبيب دجاؿ أو مجيع األطباء ليسوا دجالُت) فهو ‪:‬‬

‫)‪x D(x)  Q(x‬‬

‫بنفي اذلدؼ )‪x D(x)  Q(x‬‬

‫األف ضلوؿ للشكل النظامي ‪ :‬نزيل االقتضاء ونتخلص من ‪ ‬باستبدالو بثابت ودبا أنو يوجد ‪ and‬فسنفصل كل حد على حدى‬
‫ليصبح لدينا‪:‬‬

‫‪P(C1) (1‬‬

‫‪¬ D(y)  L(C1,y) (1‬‬

‫‪xy P(x)  Q(y)  ¬L(x,y) )2‬‬

‫نزيل االقتضاء ونفًتض ‪ ‬موجودة ضمنيا‬

‫‪¬P(x)  ¬Q(y)  ¬L(x,y) (2‬‬

‫‪x D(x)  Q(x) )3‬‬


‫‪35‬‬
:‫ فنفصل بينهما‬and ‫ وذلك باستبدالو بثابت ودبا أنو يوجد‬ ‫نتخلص من‬

D(C2) )3

Q(C2) )3

P(C1) ¬ D(y)L(C1,y) ¬P(x)¬Q(y)¬L(x,y) D(C2) Q(C2)

y\C2

L(C1,C2)
x\C1
y\C2

¬P(C1)¬Q(C2)

¬Q(C2)

False

36
‫الفصل الرابع‬
‫الشبكات العصبونية‬

‫‪ 1.4‬الخلية العصبونية البشرية‬


‫‪ 2.4‬الشبكة العصبونية الصنعية‬
‫‪ 3.4‬مفهوم الشبكة في الشبكات العصبونية الصنعية‬
‫‪4.4‬‏أنواع الشبكات العصبونية‬
‫‪ 5.4‬استخدام الشبكات العصبونية الصنعية‬
‫‪ 6.4‬التعلم في الشبكات العصبونية الصنعية‪:‬‬

‫‪37‬‬
‫‪ 2.3‬الخلية العصونية البشرية‪:‬‬
‫إف اخللية العصبونية البشرية ىي الوحدة األساسية لبناء اجلهاز العصيب يف الكائنات احلية‪ ,‬وتنتشر مليارات اخلاليا العصبية يف جسم‬
‫الكائن احلي وتتفرع إذل زوائد تعمل على نقل الشعور باالحساس وردود األفعاؿ من وإذل الدماغ‪.‬‬
‫ويعد التعلم واكتساب وزبزين ادلعرفة من الوظائف األساسية للخاليا العصبونية جبانب مجع ومعاجلة وتوزيع اإلشارات الكهربائية اليت‬
‫سبثل السياالت العصبية‪.‬‬

‫إف من أىم الصعوبات اليت تواحو الباحثُت يف رلاؿ الذكاء الصنعي ىو النوصل إذل صنع آلة أو جهاز قادر على التعلم واكتساب‬
‫معرفة تساعد على حل ادلشاكل اليت يواجهها يف ادلستقبل‪.‬‬
‫لذا فقد سعى العلماء يف زلاولة زلاكاة اجلهاز العصيب وباألخص اخلاليا العصبية يف الكائنات احلية وذلك من خالؿ بناء ظلاذج‬
‫خلاليا عصبية اصطناعية ذلا خواص مشاهبو للخاليا العصبية احلية‪.‬‬
‫‪ 1.3‬الشبكة العصبونية الصنعية‪:‬‬
‫ىي تقنيات حسابية مصممة حملاكاة الطريقة اليت يؤدي هبا الدماغ البشري مهمة معينة وذلك عن طريق معاجلة ضخمة موزعة على‬
‫التوازي ومكونة من وحدات معاجلة بسيطة‪ ,‬ىذه الوحدات ماىي إال عناصر حسابية تسمى عصبونات أو عقد ( ‪Nodes,‬‬
‫‪ )Neurons‬واليت ذلا خاصية عصبية من حيث أهنا تقوـ بتخزين ادلعرفة العملية وادلعلومات التجريبية لتجعلها متاحة للمستخدـ‬
‫وذلك عن طريق ضبط األوزاف‪.‬‬
‫تعترب الشبكة العصبونية الصنعية نظاـ قابل للتكيف (‪ )adaptive system‬حيث تتغَت بنيتو اعتمادا على ادلعلومات اليت تعرب‬
‫من خاللو يف ما يسمى دبرحلة التعلم‪.‬‬

‫‪38‬‬
‫يكمن االستخداـ العملي ذلذه الشبكات يف امكانية تطبيق خوارزميات مصممة لتغيَت وزف (أو قوة) الروابط‪ ,‬اليت تربط اخلاليا‬
‫العصبية الصنعية ببعضها النتاج سيل عصيب معُت‪ ,‬فعل أو رد فعل‪.‬‬
‫مقارنة اخللية العصبية البشرية واخللية العصبية الصنعية‪:‬‬
‫كما رأينا قد قاـ العلماء باقًتاح بناء نظاـ ػلاكي العملية ادلوجودة يف اخللية العصبية عند االنساف فلو نظرنا إذل الشكل التارل‪:‬‬

‫صلد أنو يتكوف من ادلدخالت )‪ (Input vector‬وىنا سبثل باؿ (‪ .)X1, X2, X3, ….., Xn‬وؽلكن أف نتخيل أهنا سبثل‬
‫التفرعات العصبية ‪ Dendrites‬للعصبوف البشري واليت يتم من خالذلا نقل السيالة العصبية من أعضاء احلس إذل جسم اخللية‬
‫العصبية أي رلموعة اإلشارات ادلدخلة للخلية وىنا تكوف إما يوجد إشارة أي (واحد) أو ال يوجد (صفر)‪.‬‬
‫الوزف (‪:)Weights‬‬
‫وىو ؽلثل درجة الوزف لالشارة ادلخلة (حيث يعرب الوزف عن شدة الًتابط بُت عنصر قبلو وعنصر بعده)‪.‬‬
‫تابع التنشيط (‪)Activation Function‬‬
‫وىنا يكمن العمل احلقيقي للخلية العصبية‪ ,‬أي مثال ىنا يتم مجع األوزاف لإلشارات ادلدخلة ومقارنتها بقيمة معينة للحد أو العتبة‬
‫(‪ )Threshold‬فإذا كاف رلموع أوزاف االشارات يزيد عن اؿ ‪ Threshold‬تكوف اإلشارة ادلخرجة ىي (واحد) واذا كاف أقل‬
‫يكوف الناتج (صفر)‪.‬‬

‫‪39‬‬
‫‪ 2.3‬مفهوم الشبكة في الشبكات العصبونية الصنعية‪:‬‬
‫كما رأينا أف الشبكات العصبونية تتكوف من رلموعة من وحدات ادلعاجلة ويسمى احداىا عصبوف والشكل التارل يبُت ظلوذجا ال‬
‫خطيا وبسيطا للعصبوف الصنعي‪:‬‬

‫كما أف لإلنساف وحدات إدخاؿ توصلو بالعادل اخلارجي وىي حواسو فكذلك الشبكات العصبونية ربتاج لوحدات إدخاؿ‬
‫ووحدات معاجلة يتم فيها عمليات حسابية تضبط هبا األوزاف وضلصل من خالذلا على ردة الفعل ادلناسبة لكل مدخا من ادلدخالت‬
‫للشبكة‪ .‬فوحدات اإلدخاؿ تكوف طبقة تسمى طبقة ادلدخالت ووحدات ادلعاجلة تكوف طبقة تكوف طبقة ادلعاجلة وىي اليت زبرج‬
‫نواتج الشبكة وبُت كل طبقة من ىذه الطبقات ىناؾ طبقة من الوصالت البينية اليت تربط كل طبقة بالطبقة اليت تليها واليت يتم فيها‬
‫ضبط األوزاف اخلاصة بكل وصلة بينية وربتوي الشبكة على طبقة واحدة فقط من وحدات االدخاؿ ولكنها قد ربوي على أكثر من‬
‫طبقة من طبقات ادلعاجلة‪.‬‬
‫نالحظ من الشكل السابق أف العصبوف يتألف من‪:‬‬
‫‪ .1‬إشارات الدخل ‪:Input‬‬
‫‪a1, a2, a3, ….,an‬‬
‫‪ .2‬قوى األوزاف ‪:Weights‬‬
‫‪ wj1, wj2, wj3, …., wjn‬حيث يعرب الوزف عن شدة الًتابط بُت عنصر قبلو وعنصر بعده‪.‬‬
‫‪ .3‬عنصر ادلعاجلة ‪(J) : Processing Element‬‬
‫وىذا العنصر يقسم إذل قسمُت‪:‬‬
‫‪ .1‬اجلامع (‪ )Adder‬جلمع اإلشارات يف الدخل ادلوزوف‪.‬‬
‫‪ .2‬تابع النقل أو تابع التفعيل )‪(Activation Function‬‬
‫وىذا التابع ػلد من خرج العصبوف لذا يسمى بتابع التخميد ‪ Squashing‬حيث غلعل اخلرج ضمن اجملاؿ ]‪ [0,1‬أو ضمن‬
‫اجملاؿ ]‪.[1,-1‬‬
‫‪ .4‬اخلرج (‪(Xj) :)Output‬‬

‫‪40‬‬
‫اذا فالشبكة كنموذج رياضي سبثل دالة )‪ f(x‬حيث أف الدالة )‪ f(x‬عبارة عن رلموعة دواؿ أخرى )‪ gi(x‬واليت بدورىا عبارة عن‬
‫رلموعة أخرى من الدواؿ وىكذا هبذه الطريقة ؽلكن سبثيلها كشبكة من ادلتغَتات ترتبط بعضها البعض بأسهم تدؿ على االعتمادية‬
‫كما يف الشكل‪:‬‬

‫وؽلكن النظر أذل ىذه الشبكة من ناحيتُت‪:‬‬


‫األوذل‪ :‬ناحية وظيفية حيث نبدأ من ادلعطى ‪ x‬وننتقل عرب الشبكة وصوال إذل ‪ f‬وتستخدـ ىذه الطريقة عادة حلل ادلشاكل اليت‬
‫نرغب فيها للوصوؿ إذل أمثل حل )‪.(Optimization Problems‬‬
‫الثانية‪ :‬ناحية احتمالية‪ ,‬حيث نبدأ من متغَت عشوائي ‪ f‬والذي يعتمد على ادلتغَتات اليت تسبقو )…‪ (g,h,‬وصوال إذل ‪x‬‬
‫وتستخدـ ىذه الطريقة يف ظلاذج الرسوـ البيانية يف االحصاء‪.‬‬
‫‪ 3.3‬أنواع الشبكات العصبونية‪:‬‬
‫ؽلكن تصنيف الشبكات العصبونية إذل شبكات أمامية ‪ Feed Forward‬وشبكات ارجاعية ‪ Recurrent‬كما يف الشكل‪:‬‬

‫‪41‬‬
‫إف وحدات ادلعاجلة يف الشبكات األمامية يتم اتصاذلا حبيث تتدفق باذباه واحد وذلك من خالؿ الدخل إؿ خاليا اخلرج أما‬
‫الشبكات اإلرجاعية فتحتوي على وصالت بالتجاه األمامي واخللفي‪.‬‬
‫ؽلكن استخداـ الشبكات األمامية يف ظلذجة األنظمة الديناميكية ولكن ىذه الشبكات السبلك ذاكرة ديناميكية لذلك فهي تستعُت‬
‫بطريقة خطوط التأخَت إلعطاء خاصية ظلذجة النظاـ الديناميكي‪ ,‬ومن مثل ىذه الشبكات شبكة االنتشار اخللفي ‪Back‬‬
‫‪propagation‬‬
‫وؽلكن تصنيف الشبكات االرجاعية إذل شبكات إرجاىية جزئية وشبكات إرجاعية تامة‪ .‬سبلك الشبكات االرجاعية التامة وصالت‬
‫باالذباه األمامي ووصالت باالذباه العكسي‪ ,‬وأف مجيع ىذه الوصالت قابلة للتدريب ومن ىذه الشبكات شبكة ‪Elman‬‬
‫وشبكة ‪. Jordan‬‬
‫‪ 5.4‬استخدام الشبكة العصبونية الصنعية‪:‬‬
‫إذا أردنا من احلاسب اصلاز تطبيق ما وليكن تربيع رقم ما فيكوف الربنامج ادلدخل للحاسوب بلغة ‪ C++‬كالتارل‪:‬‬
‫‪int n‬‬ ‫تعريف متحوؿ‬
‫‪cin>>n‬‬ ‫إدخاؿ قيمة من ادلستثمر‬
‫‪int y‬‬ ‫تعريف متحوؿ‬
‫)‪y= pow (n,2‬‬ ‫حساب تربيع الرقم‬
‫‪cout <<y‬‬ ‫اظهار متحوؿ على الشاشة‬
‫لكن إذا أردنا إصلاز نفس التطبيق ولكن باستخداـ شبكة ما فما االجراءات الواجب اتباعها‪:‬‬
‫علينا يف البداية إنشاء شبكة مالئمة بعدد الطبقات وبعدد اخلاليا ذلذا التطبيق مث نقوـ بتعليم الشبكة على خاصية تربيع رقم ومن مث‬
‫نقوـ باستخداـ الشبكة من أجل أي رقم‪.‬‬
‫ادلقصود بتعليم الشبكة ىو تدريبها على عملية الًتبيع‪ ,‬أذ تأيت بعدد من األرقاـ وليكن ‪ 100‬رقم‪ ,‬نضع يف دخل الشبكة الرقم ويف‬
‫خرج الشبكة مربع ىذا الرقم دبعٌت أننا طلرب الشبكة أف ىذا العدد وىذا ىو تربيعو فيتم سبرير الرقم سبريرا أماميا ويتم حساب اخلطأ‬
‫الناتج عن التمرير اخللفي وىكذا لبقية األرقاـ وبعد عدد من التدريبات تستقر الشبكة مع خطأ مقبوؿ عندىا يتم زبزين األوزاف اليت‬
‫من أجلها استقرت الشبكة أي حاصل عملية التدريب ىو ملف األوزاف‪.‬‬
‫اآلف الستخداـ الشبكة يف تطبيق تربيع ما نقوـ بتحميل األوزاف اخلاصة بالشبكة ادلدربة على الًتبيع‪ ,‬عندىا تصبح الشبكة جاىزة‬
‫لالستخداـ‪ ,‬وقادرة على اغلاد تربيع أي رقم حىت ولو كاف خارج اؿ ‪ 111‬رقم ادلدرب عليها ولكن خبطأ صغَت مقبوؿ‪.‬‬
‫يف ادلثاؿ السابق صلد أف الشبكة تعلمت واستنبطت واستنتجت وتنبأت بعملية الًتبيع بدوف تدخل ادلربمج بعكس احلالة األوذل‬
‫عندما يقرر ادلربمج أف العملية ىي عملية تربيع يف السطر ()‪ )y=pow(n,2‬ومن ىنا تأيت عظمة وقوة الشبكات العصبونية يف‬
‫قدرهتا على التعلم واالستنباط‪ .‬لذلك صلد استخدامها يف تطبيقات التعرؼ وازباذ القرار‪....‬اخل من التطبيقات اليت ال زبضع‬
‫لقوانُت وقواعد زلددة‪.‬‬

‫‪42‬‬
‫‪ 5.4‬التعلم في الشبكات العصبونية الصنعية‪:‬‬
‫بافًتاض وجود عدد من ادلشاكل ادلراد حلها ورلموعة من احللوؿ ‪ F‬فإف مبدأ التعلم يف الشبكات العصبونية الصنعية يعٍت استخداـ‬
‫عدد من ادلالحظات من البيئة احمليطة قد تكوف ىذه ادلالحظات عبارة عن بيانات مت زبزينها من ذبارب سابقة الغلاد خوارزمية‬
‫معينة (نصل من خالذلا اذل اغلاد التابع *‪ f‬الذي يعرب عن احلل األمثلي) واليت بواسطتها ؽلكن حل ادلشكلة بأمثل طريقة شلكنة (أي‬
‫أنو اليوجد حل لو تكلفة أقل من تكلفة احلل األمثل *‪.) f‬‬
‫ويقوـ عمل اخلوارزميات اليت تبٌت عليها الشبكات العصبونية الصنعية على البحث يف فضاء احللوؿ ‪ F‬الغلاد ‪ .f*.‬وىذا يقودنا إذل‬
‫ضرورة تعريف دالة التكلفة (‪ )Cost Function‬وىي عبارة عن مقياس دلعرفة مدى جودة احلل‪ ,‬ىذا وقد تعرب التكلفة عن‬
‫كمية الوقت أو مدى استخداـ ادلعاجل أو الذاكرة أو أي مصادر أخرى حلل ادلشكلة‪.‬‬
‫عملية التدريب‪:‬‬
‫يقصد بعملية تدريب الشبكة ضبط األوزاف‪ ,‬لذلك فإنو بتطبيق رلموعة من قيم الدخل يؤدي ذلك إذل إنتاج رلموعة من القيم‬
‫ادلطلوبة يف اخلرج‪ .‬ترمز كل رلموعة من رلموعات قيم الدخل بالرمز شعاع )‪ (Vector‬وكذلك األمر بالنسبة جملموعات قيم‬
‫اخلرج‪.‬‬
‫يفًتض التدريب أف كل شعاع دخل مرتبط بشعاع اخلرج ادلطلوب حبيث يشكالف زوجا واحدا يدعى زوج التدريب‪ .‬يتم تدريب‬
‫الشبكة عادة على عدد من أزواج التدريب‪ ,‬مثال قد يتألف قسم الدخل لزوج تدريب من عينة من الواحدات واالصفار مثل صورة‬
‫مشفرة بالصيغة الثنائية حلرؼ من األحرؼ األجبدية‪.‬‬
‫قبل البدء بعملية التدريب فإنو غلب هتيئة مجيع األوزاف بقيم عشوائية صغَتة‪ .‬ىذه القيم الصغَتة تضمن عدـ حدوث حاالت‬
‫طفحاف يف الشبكة واليت تنتج عن األوزاف ذات القيم الكبَتة‪ ,‬واألوزاف العشوائية سبنع حدوث مشاكل أخرى‪ ,‬فمثال إذا مت جعل‬
‫األوزاف متساوية وكاف األداء ادلطلوب يتطلب قيما غَت متساوية فإف ىذا سيؤدي اذل عدـ تدريب الشبكة‪.‬‬
‫اخلطوات التالية سبثل خوارزمية تدريب شبكة االنتشار اخللفي‪:‬‬
‫هتيئة األوزاف بقيم ابتدائية عشوائية‬
‫اختيار زوج التدريب التارل من رلموعة التدريب وتطبيق شعاع الدخل على دخل الشبكة‬
‫حساب قيم اخلرج للشبكة‬
‫حساب اخلطأ بُت خرج الشبكة الذي مت احلصوؿ عليو من اخلطوة السابقة وبُت اخلرج ادلطلوب (شعاع اذلدؼ من زوج التدريب)‪.‬‬
‫ضبط أوزاف الشبكة اعتمادا على اخلطأ الناتج حبيث يتم التقليل من ىذا اخلطأ‪.‬‬
‫تكرار اخلطوات من (‪ )5-2‬من أجل كل زوج من أزواج التدريب حىت يصبح اخلطأ من أجل رلموعة التدريب مقبوال‪.‬‬
‫يظهر الشكل التارل ادلخطط الصندوقي للخطوات السابقة‪:‬‬

‫‪43‬‬
‫إف العمليات ادلطلوب يف اخلطوات (‪ )3-2‬السابقة‪ ,‬ادلستخدمة يف حالة تدريب الشبكة‪ ,‬يتم استخدامها بشكل مشابو يف حالة‬
‫تطبيق قيم فعلية ع لى الشبكة بعد انتهاء التدريب (أثناء االستدعاء)‪ .‬أي أنو يف مرحلة التطبيق يتم تطبيق شعاع الدخل وحساب‬
‫اخلرج الناتج‪.‬‬
‫يتم انتاج احلسابات يف الطبقات طبقة تلو أخرى‪ ,‬يف ادلثاؿ السابق اوال يتم حساب قيم اخلرج للخاليا العصبونية يف الطبقة ‪ J‬ويتم‬
‫استخداـ ىذه القيم بعد ذلك كقيم دخل لطبقة ‪ K‬مث يتم حساب قيم اخلرج للطبقة ‪ K‬وىذه القيم سبثل شعاع اخلرج للشبكة‪ .‬يف‬
‫اخلطوة (‪ )4‬يتم طرح كل قيمة خرج ‪ OUT‬من القيمة ادلقابلة ذلا يف شعاع اذلدؼ وناتج عملية الطرح ؽلثل اخلطأ‪ .‬ويستخدـ ىذا‬
‫اخلطأ يف اخلطوة (‪ )5‬لضبط أوزاف الشبكة‪ ,‬واعتمادا على خوارزمية التدريب يتم تغيَت مطاؿ وقطبية األوزاف‪.‬‬
‫بعد تكرار كايف للخطوات األربعة السابقة (‪ )5-2‬فإف اخلطأ يتناقص بُت اخلرج الفعلي واخلرج ادلطلوب حىت يصل إذل قيمة‬
‫مقبولة‪ .‬وبالتارل ؽلكن القوؿ بأف الشبكة قد تدربت‪ ,‬وعند ىذه النقطة فإف الشبكة تستخدـ ألداء التطبيق ادلطلوب أما األوزاف‬
‫فتكوف ثابتة‪.‬‬

‫‪44‬‬
‫سبثل اخلطوتاف (‪ )3-2‬حالة سبرير أمامي (‪ )Forward Pass‬حيث تنتشر االشارة من دخل الشبكة إذل خرجها‪ .‬أما اخلطوتُت‬
‫(‪ )5-4‬فتمثالف حالة سبرير عكسي وىنا يتم استخداـ إشارة اخلطأ احملسوبة لضبط األوزاف‪.‬‬

‫التمرير األمامي ‪Forward Pass‬‬


‫ؽلكن التعبَت عن اخلطوتُت (‪ )3-2‬بصيغة األشعة كمايلي‪ :‬يتم تطبيق شعاع الدخل ‪ X‬فينتج شعاع اخلرج ‪ Y‬ويتم احلصوؿ على‬
‫شعاع الدخل –اذلدؼ‪ )T,X( -‬من رلموعة التدريب‪ ,‬حيث تنجز احلسابات على ‪ X‬لتنتج شعاع اخلرج ‪.Y‬‬
‫ذبري احلسابات على الطبقات يف الشبكات متعددة الطبقات طبقة تلو األخرى ابتداء من طبقة الدخل‪ .‬حيث ربسب قيمة ‪Net‬‬
‫لكل خلية عصبية يف الطبقة األوذل عن طريق إجراء عملية جداء لألوزاف بقيم الدخل ادلوافقة ومن مث أخذ اجملموع للجداءات‬
‫السابقة‪ ,‬مث يتم تطبيق تابع التفعيل ‪ F‬على الناتج السابق ‪ Net‬النتاج قيمة ‪ Out‬من أجل كل خلية عصبونية يف ىذه الطبقة‪.‬‬
‫وبعد االنتهاء من حساب قيم اخلرج للطبقة احلالية فإهنا تستخدـ كدخل للطبقة التالية‪ .‬ويتم تكرار ىذه العملية طبقة تلو األخرى‬
‫حىت الوصوؿ إذل أخر رلموعة من قيم اخلرج للشبكة واليت سبثل قيم اخلرج الفعلية‪.‬‬
‫سوؼ يتم سبثيل األوزاف بُت اخلاليا العصبية بادلصفوفة ‪ ,W‬فمثال ؽلكن التعبَت عن الوزف من اخللية العصبونية الثامنة ‪ 8‬يف الطبقة‬
‫الثانية ‪ 2‬إذل الطبقة العصبونية اخلامسة ‪ 5‬يف الطبقة الثالثة ‪ 3‬بالشكل ‪. W8,5‬‬
‫ؽلكن التعبَت عن شعاع قيم ‪ Net‬ونرمز لو بالرمز ‪ N‬على شكل جداء مصفوفات بادلعادلة التالية‪:‬‬
‫‪N=X*W‬‬
‫وبالتارل فإف شعاع اخلرج ‪ O‬يعطى بالعالقة‪:‬‬
‫)‪O=F(X,W‬‬
‫يتم تطبيق العالقتُت السابقتُت على كل طبقة حىت الوصوؿ إذل الطبقة األخَتة (طبقة اخلرج) ويتم حساب شعاع اخلرج ذلذه الطبقة‬
‫والذي ؽلثل اخلرج الفعلي للشبكة اعتمادا على نفس العالقتُت السابقتُت‪.‬‬
‫التمرير العكسي (اخللفي)‪:‬‬
‫يتم من خاللو القياـ بالعمليات التالية‪:‬‬
‫‪ .1‬ضبط أوزاف طبقة اخلرج‪:‬‬
‫دبا أف قيمة اذلدؼ معروفة من قبل كل خلية عصبونية يف طبقة اخلرج فإنو يتم ضبط األوزاف ادلرافقة على عكس احلالة اليت ال يكوف‬
‫فيها اذلدؼ موجودا‪ ,‬وبالتارل يكوف التدريب يف ىذه احلالة أكثر تعقيدا‪.‬‬
‫‪ .2‬ضبط أوزاف الطبقات اخلفية‪:‬‬
‫دبا أف الطبقة اخلفية السبلك شعاع ىدؼ وبالتارل الؽلكن تطبيق العمليات السابقة‪ .‬يف ىذه احلالة تقوـ خوارزمية االنتشار اخللفي‬
‫عن طريق نشر خطأ اخلرج بشكل خلفي خالؿ الشبكة طبقة تلو األخرى حيث يتم ضبط األوزاف عند كل طبقة‬
‫‪ .3‬إضافة اضلياز اخللية العصبونية‪:‬‬
‫يف حاالت عدة من األفضل تزويد كل خلية عصبونية باضلياز قابل للتدريب‪ ,‬حيث يفيد ىذا االضلياز يف تسريع عملية التدريب‬
‫بشكل كبَت‪.‬‬
‫‪ .4‬العامل اللحظي‪:‬‬

‫‪45‬‬
‫قدـ الباحثوف ‪ Williams , Hinton , Rumelhart‬طريقة لتحسُت زمن التدريب لشبكة االنتشار اخللفي‪ ,‬تتضمن ىذه‬
‫الطريقة إضافة حد جديد إذل الوزف ادلضبوط‪ ,‬يدعى ىذا احلد بالعامل اللحظي ‪.Momentum‬‬
‫تطبيقات على الشبكات العصبونية الصنعية‪:‬‬
‫يوجد الكثَت من تطبيقات الشبكات العصبونية الصنعية يف رلاالت سلتلفة ونالحظ أف تطبيقاهتا تعتمد كثَتا على مبدأ التعلم‪.‬‬
‫ومن أعلها رلاؿ التعرؼ على األظلاط (‪ , )Pattern Recognition‬التعرؼ على الكالـ (‪,)Speech recognition‬‬
‫الرجل اآلرل (‪ ,)Robots‬التحكم (‪ )Controlling‬ورلاالت التشخيص الطيب‪.‬‬

‫الفصل الخامس‬
‫التعلم اآللي‬

‫‪ 1.5‬مقدمة‬
‫‪ 2.5‬مثال تمهيدي‬
‫‪ 3.5‬خوارزمية ‪GSCA‬‬
‫‪ 4.5‬تطبيق الخوارزمية على المثال‬
‫‪ 5.5‬تطبيق عملي‬
‫‏‬

‫‪46‬‬
‫الفصل الخامس‬
‫التعلم اآللي‬

‫‪ 1.5‬مقدمة‬

‫سنتعرؼ في ىذا الفصؿ عمى الطريقة األولى في تحصيؿ قواعد النمذجة وىي محاولة استقراء القواعد التي‬
‫تدير نظاـ ما مف خالؿ مجموعة أمثمة سابقة ‪.‬‬

‫مف أمثمة نظـ التعمـ اآللي ‪ machine learning‬نظـ التعرؼ عمى البصمة ونظـ التعرؼ عمى الوجوه‪،‬‬
‫ونظـ التعرؼ عمى الصوت‪ ،‬وأوؿ نظاـ تعمـ تمقائي ىو نظاـ اختص في التعرؼ عمى سموؾ الخصـ في لعبة‬
‫البوكر‪.‬‬

‫‪47‬‬
‫‪ 2.5‬مثال تمهيدي‬

‫بناء عمى تحقؽ عدة مواصفات فيو‪،‬‬


‫في مصرؼ يمنح قروض‪ ،‬إف ىذا المصرؼ إما أف يمنح قرض لمزبوف ً‬
‫أو أال يمنح القرض ليذا الزبوف ‪.‬‬

‫نريد استقراء القاعدة (أو القواعد) التي تحدد الموافقة أو عدميا عمى منح قرض لزبوف معيف‪ ،‬انطالقاً مف‬
‫مجموعة مف الحاالت السابقة التي مر بيا ىذا لمصرؼ‪ .‬وىذه الحاالت ىي عبارة عف مجموعة زبائف ذوي‬
‫صفات معينة زار كؿ منيـ المصرؼ في وقت سابؽ‪ ،‬وطمب قرضاً‪ ،‬فحصؿ بعضيـ عمى القرض ولـ‬
‫يحصؿ البعض اآلخر وذلؾ بناء عمى محاكمة أجراىا المصرؼ عمى مجموعة صفات تيمو‪ ،‬ولتكف ىذه‬
‫الصفات في مثالنا ‪:‬‬

‫أف يكوف تخميف الضمانة أكبر مف مبمغ القرض ‪APP‬‬ ‫‪‬‬

‫أف يكوف لمعميؿ دفعات دورية منتظمة ‪RATING‬‬ ‫‪‬‬

‫أف يتجاوز دخؿ العميؿ مصاريفو ‪INC‬‬ ‫‪‬‬

‫أف يكوف لمعميؿ رصيد ممتاز ‪BAL‬‬ ‫‪‬‬

‫وكانت المشاىدات في سجالت منح القروض في البنؾ عمى النحو التالي‪:‬‬

‫‪APP‬‬ ‫‪RATING‬‬ ‫‪INC‬‬ ‫‪BAL‬‬ ‫‪OK‬‬


‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪3‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪5‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪6‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬

‫‪48‬‬
‫‪7‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪8‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪9‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‏‬

‫‪ 1.2.5‬مالحظات من الجدول‬

‫مف السطر األوؿ نالحظ أنو أتى زبوف يطمب قرض وكاف ‪ app‬أي تخميف الضمانة عنده أكبر مف مبمغ‬
‫القرض المطموب ‪ ،‬وكاف ‪ not Rating‬أي ليس لو دفعات منتظمة ‪ ،‬وكاف ‪ not INC‬أي ال يتجاوز دخؿ‬
‫ىذا الزبوف مصاريفو ‪ ،‬وكاف ‪ BAL‬أي لو صفحة متوازنة ممتازة‪ ،‬ولـ يعطيو المصرؼ القرض أي ‪OK =0‬‬
‫‪..‬وىكذا بالنسبة لباقي األسطر ‪ ..‬إذاً المصرؼ يجري محاكمة معينة عمى مجموعة الصفات (‬
‫) ‪ATTRIBUTES‬التي يتمتع بيا العميؿ وبناءاً عمى ىذه المحاكمة فإف المصرؼ يعطي قرض أو ال‬
‫يعطي ‪ ،‬مانريده ىو معرفة القاعدة ( أو القواعد ) التي تحكـ ىذه المحاكمة أي نريد قاعدة ما نسقط عمييا‬
‫صفات عميؿ معيف‬

‫) ‪ ( app ,Bal ,INC , Rating‬فتخبرنا ىؿ نعطيو قرض أـ ال ‪.‬‬

‫‪ 2.2.5‬الهدف‬

‫كما نالحظ فإف عدد األمثمة المطروحة في الجدوؿ ىي ‪ 9‬أمثمة مختمفة‪ ،‬ولكف كـ حالة غير موجودة في‬
‫الجدوؿ؟ في الحقيقة ىناؾ ‪ 7‬حاالت غير موجودة في الجدوؿ ؛ فكما نالحظ ىناؾ ‪ 4‬صفات تأخذ إحدى‬
‫قيمتيف إما ‪ true‬أو ‪ false‬فإف عدد التشكيالت الممكنة ىو ‪ 61‬حالة ‪ ،‬فنريد الوصوؿ إلى القاعدة التي‬
‫حققت األمثمة التسعة السابقة لكي نعمـ ما ىو خرج الحاالت السبعة الباقية بناءاً عمى القاعدة التي سنتنتجيا‬
‫‪ ،‬وبالحقيقة فإف ىذا مثاؿ بسيطة ولكف بالواقع قد يكوف لدينا آالؼ األمثمة التي نريد استخراج القواعد منيا‬
‫وآالؼ األمثمة التي لـ نعرفيا بعد والتي قد ترد عمى النظاـ‪.‬‬

‫إذاً‪ :‬اليدؼ ىو البحث عف مجموعة قواعد مف الشكؿ‪:‬‬

‫‪1  2  …n  OK‬‬

‫أي تحديد مجموعة الواصفات التي تكفي التخاذ قرار بإعطاء القرض (في مثالنا)‪.‬‬

‫‪49‬‬
‫‪ 2.1.4‬اصطالحات‬

‫المثاؿ الموجب‪ :‬ىو المثاؿ الذي يكوف فيو ‪ ok=True‬أي تـ إعطاء قرض ‪.‬‬ ‫‪‬‬

‫المثاؿ السالب‪ :‬ىو المثاؿ الذي يكوف فيو ‪ ok=false‬أي لـ يتـ إعطاء قرض ‪.‬‬ ‫‪‬‬

‫إذا كاف لمقدمة قاعدة ‪ -‬أي مجموعة الذرات ( الواصفات ) التي عمى يسار القاعدة ‪ -‬القيمة ‪True‬‬ ‫‪‬‬

‫مف أجؿ مثاؿ معيف مف مجموعة التعمـ‪ ،‬فإننا نقوؿ بأف القاعدة تغطي المثاؿ‪.‬‬

‫‪ 3.5‬خوارزمية ‪GSCA Generic Separate-and-Conquer‬‬

‫ىدؼ الخوارزمية ىو البحث عف مجموعة مف القواعد التي تغطي كؿ وفقط األمثمة الموجبة في مجموعة‬
‫التعمـ (األمثمة المطرحة) ‪. HISTORY‬‬

‫‪ .1‬طالما أنو لـ يتـ تغطية جميع األمثمة الموجبة كرر‬


‫تييئة قاعدة جديدة ‪R_i‬‬
‫طالما أف القاعدة ‪ Ri‬تغطي مثاؿ واحد سالب عمى األقؿ كرر‬
‫حدد ذرة أخرى واصفة ‪) a_j‬وفؽ اختبار معيف بيف الذرات (‪.‬‬
‫أضؼ الذرة ‪ a_j‬إلى مقدمة القاعدة ‪R_i‬‬
‫‪ .2‬احذؼ جميع األمثمة الموجبة التي تمت تغطيتيا بالقاعدة ‪( R_i‬لكي ال نصطدـ بنفس القاعدة التي‬
‫حصمنا عمييا في ىذه الدورة بالدورة التالية لمخوارزمية(‬

‫‪ 1.3.5‬شرح الخوارزمية‬

‫نحاوؿ أوالً أف نجد قاعدة واحدة تغطي األمثمة الموجبة فقط (حتى لو كانت ال تغطي جميع األمثمة الموجبة)‪،‬‬
‫وذلؾ بالبدء بقاعدة تغطي جميع األمثمة )الموجبة والسالبة)‪ ،‬وطالما أف ىذه القاعدة تغطي مثاؿ سالب واحد‬
‫عمى األقؿ نضيؼ إلى مقدمتيا ذرات أخرى بيدؼ تقميص األمثمة السالبة التي تغطييا ‪ ،‬وعندما تصبح‬
‫القاعدة ال تغطي أي مثاؿ سالب نكوف قد انتيينا مف بنائيا ونختبر ‪ :‬ىؿ تمت تغطية جميع األمثمة الموجبة؟‬

‫‪50‬‬
‫إذا تمت تغطية جميع األمثمة الموجبة ينتيي عمؿ الخوارزمية واال ندخؿ في بناء قاعدة جديدة بعد حذؼ‬
‫جميع األمثمة الموجبة التي تمت تغطيتيا بالقاعدة السابقة ‪ .‬وبما أف قاعدة واحدة قد ال تكفي لتغطية جميع‬
‫األمثمة الموجبة‪ ،‬سنقوـ بالتدريج بإضافة القواعد حتى الوصوؿ إلى مجموعة كاممة مف القواعد التي تغطي‬
‫كؿ وفقط األمثمة الموجبة ‪.‬‬

‫‪ 4.5‬تطبيق الخوارزمية على المثال‬


‫بالعودة لممثاؿ وكتطبيؽ مباشر عمى الخوارزمية وبشكؿ تفصيمي‪:‬‬

‫أوالً نختار قاعدة عامة لننطمؽ منيا ولتكف ‪ True  OK‬وىذا ما قصدنا بو تييئة القاعدة‪.‬‬

‫القاعػػدة السػػابقة تقبػػؿ أي شػػيء؛ أي أنيػػا تغطػػي جميػػع األمثمػػة السػػالبة الػواردة بالجػػدوؿ لػػذلؾ يجػػب إضػػافة ذرة‬
‫إلػػى مقػػدمتيا لنجعميػػا تغطػػي أمثمػػة سػػالبة بشػػكؿ أقػػؿ ‪ ،‬ولكػػف كيػػؼ نفاضػػؿ بػػيف الػػذرات األربعػػة لمعرفػػة أيػػة ذرة‬
‫سنضيؼ ؟‬

‫يوجد العديد مف المعايير الممكف استخداميا لمقياـ باالختيار‪ .‬ومف ىذه المعايير البسيطة النسبة سيمة‬
‫الحساب التالية ‪:‬‬

‫‪r = n+ / n‬‬

‫حيث ‪ n+‬العدد الكمي لألمثمة الموجبة المغطاة مف قبؿ المقدمة (الجديدة) لمقاعدة بعد إضافة ‪ a‬لمقدمتيا (‬
‫أي عدد المرات التي تكوف كؿ ذرات المقدمة ( الواصفات بالجزء اليساري لمقاعدة ) قيميا ‪ 6‬و قيمة اليدؼ‬
‫‪ 6‬أيضاً‪.‬‬

‫‪ n‬العػدد الكمػي لألمثمػة (الموجبػة والسػالبة) المغطػاة مػف قبػؿ المقدمػة (الجديػدة) لمقاعػدة بعػد إضػافة الػذرة ‪a‬‬
‫لممقدمػػة‪ (.‬أي عػػدد المػرات التػػي تكػػوف فييػػا كػػؿ ذرة مػػف ذرات المقدمػػة =‪ ) 6‬بغػػض النظػػر عػػف قيمػػة اليػػدؼ‪.‬‬
‫ونختار الػذرة ذات النسبة األكبر وفي حاؿ التساوي نختار الذرة التي تغطي أمثمة موجبة أكثر‪.‬‬

‫في مثالنا نحسب ىذه النسبة لمذرات األربعة فنالحظ ‪:‬‬

‫‪rAPP= 3/6 = 0.5‬‬

‫‪51‬‬
‫‪rRATING= 4/6 = 0.667‬‬

‫‪rINC= 3/6 = 0.5‬‬

‫‪rBAL= 3/4 = 0.75‬‬

‫نسبة ‪ rBAL= 3/4‬تعني أنو مف أصؿ ‪ 4‬أمثمة كانت ‪ BAL=1‬فييا ‪ ،‬تـ تغطية ‪ 3‬أمثمة موجبة ) ‪OK=1‬‬
‫‪True ‬‬ ‫ونالحظ أنيا النسبة األكبر لذلؾ نختار الواصفة ( الذرة ) ‪ BAL‬ونضيفيا إلى مقدمة القاعدة‬
‫‪OK‬فتصبح‪:‬‬

‫‪BAL  OK‬‬

‫السؤاؿ الذي نطرحو اآلف‪ :‬ىؿ ىذه القاعدة التي وصمنا إلييا تغطي مثاالً سالباً واحداً عمى األقؿ؟‬

‫‪BAL =1‬‬ ‫بتفحص الجدوؿ نالحظ أف الجواب ىو نعـ إنيا تغطي مثاؿ سالب وىو المثاؿ األوؿ حيث‬
‫وكانت ‪ Ok=0‬فيو ‪ .‬إذاً مازلنا بالحمقة الداخمية ونبحث عف ذرة أخرى نضيفيا إلى مقدمة ىذه القاعدة‬
‫لنتخمص مف ىذا المثاؿ السالب مع الحفاظ عمى األمثمة الموجبة التي غطيناىا ‪..‬نحف أماـ اختيار واحدة مف‬
‫ثالث ذرات )‪ (APP,Rating,INC‬إذاً نحسب النسبة فنالحظ ‪:‬‬

‫‪rAPP= 2/3 = 0.667‬‬

‫‪rRATING= 3/3 = 1‬‬

‫‪rINC= 2/2 = 1‬‬

‫مالحظة ىنا في البسط وألجؿ حساب نسبة ‪ attribute‬ما وليكف ‪.a‬‬

‫ننظر إلى األسطر التي يكوف فييا كؿ مف ‪ BAL‬و ‪ a‬قيمتو ‪ ،6‬وليس فقط إلى األسطر التي يكوف فييا ‪a‬‬
‫لوحده يساوي ‪ 6‬؛ ألننا نحسب نسبة األمثمة التي تغطييا مقدمة القاعدة كاممةً وليس فقط ‪ attribute‬واحد‪.‬‬

‫فنالحظ أف‪ rRATING= 3/3 = 1 :‬والتي تعني أنو مف أصؿ ‪ 3‬أمثمة كانت فييا مقدمة القاعدة بعد إضافة‬
‫‪ Rating‬إلييا = ‪1‬‬

‫‪52‬‬
‫(‪ )BAL=1 and Rating=1‬تـ تغطية ‪ 3‬أمثمة موجبة‪ .‬إذا عندما تكوف ىذه النسبة واحد فال يوجد أي‬
‫مثاؿ سالب تغطيو القاعدة التي وصمنا إلييا‪.‬‬

‫لماذا لـ نختر ‪ INC‬مع أف نسبة مقدمة القاعدة بعد إضافة ‪ INC‬إلييا ىي أيضاً =‪6‬؟‬

‫السبب‪ :‬إف إضافة ‪ Rating‬تصبح مقدمة القاعدة تغطي ‪ 3‬أمثمة موجبة بينما إضافة ‪ INC‬تصبح القاعدة‬
‫تغطي مثاليف موجبيف ‪ ..‬واألكثر منطقية أف نأخذ ‪ Rating‬ألنيا تغطي امثمة موجبة أكثر ‪ .‬إذاً نضيؼ‬
‫‪Rating‬إلى القاعدة ‪ BAL  OK‬فتصبح ‪:‬‬

‫‪Rating  BAL  OK‬‬

‫والسؤاؿ المطروح في ىذه الحالة‪ :‬ىؿ ىذه القاعدة التي وصمنا إلييا تغطي مثاالً سالباً واحداً عمى األقؿ (‬
‫) ‪OK=0‬؟‬

‫بتفحص الجدوؿ نالحظ أف الجواب ىو ال تذكر أف نسبة مقدمة القاعدة =‪ 6‬وىذا منطقي إذا حصمنا عمى‬
‫قاعدة ال تغطي أي مثاؿ سالب فنخرج مف الحمقة الداخمية ونحذؼ مف الجدوؿ جميع األمثمة الموجبة التي‬
‫‪Rating  BAL  OK‬‬ ‫تمت تغطيتيا‬

‫ونواجو السؤاؿ التالي‪ :‬ىؿ تمت تغطية جميع األمثمة الموجبة في الجدوؿ؟‬

‫الجواب‪ :‬ال ألف ىناؾ المثاؿ ‪ 6‬وكانت فيو ‪ Rating =1, BAL=0‬وكانت ‪ OK=1‬إذا ىو مثاؿ موجب‬
‫لـ تتـ تغطيتو بالقاعدة التي حصمنا عمييا فندخؿ في الحمقة الداخمية مرة أخرى لنبحث عف قاعدة أخرى‬
‫ونييئيا لتصبح مف الشكؿ ‪ True  OK‬ويصبح الجدوؿ بعد الحذؼ مف الشكؿ ‪:‬‬

‫‪APP‬‬ ‫‪RATING‬‬ ‫‪INC‬‬ ‫‪BAL‬‬ ‫‪OK‬‬


‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪5‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪6‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪8‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪9‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬

‫‪53‬‬
‫اآلف نختبر النسب فنالحظ‪:‬‬
‫‪rAPP = 1/4 = 0.25‬‬

‫‪rRATING = 0/3 = 0‬‬

‫‪rINC = 1/4 = 0.25‬‬

‫‪rBAL = 0/1 = 0‬‬

‫وبالتالي نختار ‪ Rating‬لنضيفيا إلى مقدمة القاعدة ‪ True  OK‬فتصبح ‪Rating  OK‬‬

‫والسؤاؿ‪ :‬ىؿ تغطي ىذه القاعدة أي مثاؿ سالب؟‬

‫نعـ تغطي المثاليف السالبيف ‪ 5‬و ‪ ،9‬لذلؾ سنبحث عف ‪ attribute‬أخر مف بيف الواصفات التالية ‪...‬‬
‫)‪ (App, INC, BAL‬ونحسب النسب‪:‬‬

‫‪rRATING = 1/2 = 0.5‬‬

‫‪rINC = 1/2 = 0.5‬‬

‫‪rBAL = 0/1 =0‬‬

‫نذكر ىنا ‪ :‬البسط لنسبة مقدمة القاعدة عندما نضيؼ ليا ‪ INC‬مثالً ىو عدد المرات التي يكوف فييا كؿ‬
‫مف ‪ Rating =1‬و ‪INC =1‬‬

‫تتساوي النسب بيف ‪ APP‬و ‪ INC‬وتتساوي عدد األمثمة المغطاة فنختار واحد عشوائياً وليكف ‪ APP‬ونضيفو‬
‫إلى مقدمة القاعدة ‪ Rating  OK‬لتصبح ‪App  Rating  OK‬‬

‫والسؤاؿ ىؿ ال زالت القاعدة تغطي مثاؿ سالب عمى األقؿ؟ الجواب نعـ وىو المثاؿ التاسع‪.‬‬

‫وبعد حساب النسب لمواصفتيف ‪ INC‬و ‪ BAL‬نالحظ أنو يجب إضافة ‪ INC‬إلى مقدمة القاعدة ‪App ‬‬
‫‪ Rating  Ok‬لتصبح ‪INC  App  Rating  OK‬‬

‫ىؿ الزالت القاعدة التي حصمنا عمييا مؤخ اًر تغطي أي مثاالً سالبا؟‬

‫‪54‬‬
‫الجواب ال‪ .‬إذا نخرج مف الحمقة الداخمة ونحذؼ جميع األمثمة الموجبة التي غطتيا القاعدة التي حصمنا‬
‫عمييا مؤخ اًر وىو مثاؿ موجب واحد ذو الرقـ ‪1‬‬

‫والسؤاؿ ‪:‬ىؿ ال زاؿ يوجد أي مثاؿ موجب غير مغطى ؟ ال إذاً تمت تغطية جميع األمثمة الموجبة المطروحة‬
‫في قاعدة التعمـ مف خالؿ القاعدتيف التاليتيف‪:‬‬

‫‪Rating  BAL  OK‬‬

‫‪INC  App  Rating  OK‬‬

‫وال ننس أف ىاتيف القاعدتيف تـ استنتاجيما مف األمثمة المطروحة وبالتالي إذا طبقنا أي مثاؿ عمى القاعدة‬
‫المناسبة منيما يجب أف يكوف الناتج كما ىو في الجدوؿ ولنجرب ذلؾ فمثالً في القاعدة السابعة ( مواصفات‬
‫‪ (True‬وبالتالي باإلسقاط عمى إحدى القاعدتيف المتيف وصمنا إلييما فيكوف الخرج ىو ‪true‬‬ ‫الزبوف كميا‬
‫أيضاً كما كاف بالجدوؿ‪.‬‬

‫والمثاؿ ‪:1‬‬

‫‪APP‬‬ ‫‪RATING‬‬ ‫‪INC‬‬ ‫‪BAL‬‬ ‫‪OK‬‬


‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬

‫نالحظ أنو بتطبيؽ القاعدة األولى ‪ 0 and 1  0‬إذا ‪ OK = 0‬وبتطبيؽ القاعدة الثانية ‪1 and 0 and 0‬‬
‫‪  0‬أي أف الخرج ‪ OK = 0‬وىذا الخرج كاف بالجدوؿ عند المثاؿ األوؿ‪.‬‬

‫إذا القواعد التي استنتجتاىا ىي القواعد الناظمة لعممية المحاكمة بإعطاء القرض أـ ال بناء عمى صفات‬
‫العميؿ (الذرات األربعة) والفائدة منيا تأتي عندما يأتينا اآلف أحد األمثمة المطروحة بالجدوؿ (األمثمة السبعة‬
‫الناقصة التي ذكرناىا في بداية المسألة) مثال ‪App = 0, Rating = 1, INC = 0, BAL = 1 :‬‬
‫باإلسقاط عمى القاعدة األولى نالحظ ‪1 and 1  1‬‬

‫أي ‪ OK = 1‬ويتـ إعطاء القرض ليذا الزبوف‪.‬‬

‫‪55‬‬
‫طبعا يكفي أف تتحقؽ قاعدة واحدة مف القواعد التي وصمنا إلييا لنقوؿ أنو يجب إعطاء قرض ألف اؿ ‪OK‬‬
‫(إعطاء القرض) ينتج عف عممية ‪ OR‬بيف ىاتيف القاعدتيف‪.‬‬

‫‪ 5.5‬تطبيق عملي‬
‫لدينا ‪ Robot‬لتوزيع الطرود في بناء (الموضح في الشكؿ)‪:‬‬

‫‪A1‬‬ ‫‪A‬‬ ‫‪A2‬‬

‫‪B1‬‬ ‫‪C1‬‬

‫‪B‬‬ ‫‪C‬‬

‫‪B2‬‬ ‫‪C2‬‬

‫معمومات مف الشكؿ‪:‬‬

‫يوجد موزعات في ىذا البناء )‪ (A , B ,C‬في الشكؿ وباقي األماكف ىي غرؼ ‪ ،‬إذاً البناء مؤلؼ مف عدة‬
‫‪ Robot‬وجد أنو مف اجؿ كؿ زوج‬ ‫أماكف حيث أف ّ المكاف ىو إما غرفة أو موزع ‪ .‬ومف خالؿ تجربة الػ‬
‫مف األماكف قد يكوف التنقؿ بينيما سيؿ ‪ ،‬وقد ال يكوف التنقؿ بينيما سيؿ ‪ ،‬وسجؿ ىذه النتائج ( تـ تحصيؿ‬

‫قاعدة تعمـ ) ‪ .‬يطمب استنتاج القواعد التي تحدد فيما إذا كاف االنتقاؿ بيف مكانيف ما ‪ X,Y‬ىو سيؿ انطالقاً‬
‫مف مجموعة التعمـ التي سجميا الػ ‪.robot‬‬

‫قاعدة التعمـ التي سجمتيا تجارب الػ ‪ Robot‬ىي‪:‬‬

‫األمثمة الموجبة التالية (االنتقاؿ بيف كؿ زوج فييا سيؿ)‪:‬‬

‫>‪Easy(+)={<A,B>,<A,C>,<B,C>,<B,A>,<C,A>,<C,B>,<A,A1>,<A,A2>,<A1,A‬‬
‫}>‪,<A2,A>,<B,B1>,<B,B2>,<B1,B>,<B2,B>, <C,C1>,<C,C2>,<C1,C>,<C2,C‬‬

‫‪56‬‬
‫واألمثمة السالبة التالية‪:‬‬

‫‪Easy(-)={<A,B1>,<A,B2>,<A,C1>,<A,C2>,<B,C1>,<B,C2>,<B,A1>,‬‬

‫‪<B,A2>,<C,A1>,<C,A2>,<C,B1>,<C,B2>,<B1,A>,<B2,A>,<C1,A>,‬‬

‫‪<C2,A>,<C1,B>,<C2,B>,<A1,B>,<A2,B>,<A1,C>,<A2,C>,<B1,C>,‬‬

‫}>‪<B2,C‬‬

‫مالحظات‪:‬‬

‫‪-‬الحظ أف التعامؿ ىنا مع متحوالت ‪ X,Y‬أي أف ‪ X,Y‬ليا مجاؿ قيـ كبير نسبياً وىو (‬
‫‪A,B,C,A1,A2.......).‬‬

‫‪ -‬المثاؿ الموجب ىو المثاؿ الذي يكوف فيو" ‪ easy(X,Y)=true‬التنقؿ بيف المكاف ‪ X‬والمكاف ‪ Y‬ىو سيؿ "‬
‫تقابؿ إعطاء قرض في مسألة المصرؼ ‪.‬‬

‫‪ -‬قاعدة التعمـ كاممةً ( األمثمة الموجبة والسالبة ) التغطي جميع التشكيالت الممكنة (جميع االختبارات‬
‫الممكف تطبيقيا ) وىذا طبيعي فموغطت قاعدة التعمـ كامؿ األمثمة الممكف ورودىا إلى النظاـ فال داعي‬
‫أصالً الستنتاج قاعد ة تعمـ ألف األمثمة انتيت ‪ ،‬وىدؼ قواعد التعمـ ىو معرفة نتيجة مثاؿ لـ يتـ اختباره‬
‫سابقاً مف خالؿ قاعدة تـ استنتاجيا مف أمثمة سابقة ‪ .‬ولمتأكيد مف أف قاعدة التعمـ ال تغطي كافة األمثمة ‪:‬‬

‫عدد الثنائيات الممكف تشكيميا ‪ :‬لدينا ‪ 9‬غرؼ ونريد اختيار غرفتيف منيما عمى أال نختار غرفة مع نفسيا إذاً‬
‫مسألتنا مسألة تراتيب ‪ p(9,20 )= 9*8=72‬ألنو لدينا ‪ 9‬غرؼ وكؿ غرفة مف ىذه الغرؼ يمكف اختبارىا‬
‫مع ‪ 8‬غرؼ أخرى إذا عدد الثنائيات الممكف الحصوؿ عمييا ىو ‪ 72‬واألمثمة المطروحة في قاعدة التعمـ‬
‫كاممة ىي ‪ 42‬ثنائية إذا استنتاج قاعدة تعميـ ىنا أمر جيد لوجود ‪ 31‬مثاؿ لـ يتـ تجريبيا‪.‬‬

‫يعرؼ ‪ Robot‬فيما إذا كاف ىذا المكاف موزع أـ غرفة كما أنو يعرؼ مف أجؿ كؿ زوج مف األمكنة فيما إذا‬
‫كاف ىذا الزوج عبارة عف غرفة مرتبطة مع موزع أـ ال‪ .‬ندوف ىذه العالقات باستخداـ )‪ Junction(x‬و‬
‫)‪ shop(x,y‬أي عندما نقوؿ )‪ Junction(x‬فستكوف ‪ X=A,X=B,X=C‬ومثال فإف العالقة‪:‬‬
‫)‪ shop(A,A1‬ترد ‪true‬‬

‫‪57‬‬
‫الحؿ‪:‬‬

‫ننطمؽ مف القاعدة ‪ easy(X,Y): -‬وىي قاعدة ذات جسـ فارغ ونضيؼ إلييا )‪ junction(x‬فتصبح‪:‬‬

‫)‪easy(X,Y):-junction(X‬‬

‫اآلف كما تعممنا نسأؿ ىؿ ىذه القاعدة تغطي مثاالً سالباً عمى األقؿ؟‬

‫ىذه القاعدة تختار جميع الثنائيات التي يكوف المسقط األوؿ منيا ( المكاف األوؿ ) ىو موزع بغض النظر‬
‫عف المسقط الثاني فتكوف األمثمة ىي‪:‬‬

‫‪{<A,B>,<A,C>,<B,C>,<B,A>,<C,A>,<C,B>,<A,A1>,<A,A2>,<B,B1>,‬‬

‫}>‪<B,B2>,<C,C1>,<C,C2‬‬

‫‪{<A,B1>,<A,B2>,<A,C1>,<A,C2>,<C,A1>,<C,A2>,<C,B1>,<C,B2>,‬‬

‫}>‪<B,A1>,<B,A2>,<B,C1>,<B,C2‬‬

‫مف >‪ <A,B‬إلى >‪ <C,C2‬األمثمة الموجبة التي يغطييا ‪ ،‬والباقي ىـ األمثمة السالبة ‪ ،‬لذلؾ نبحث عف ذرة‬
‫أخرى‪:‬‬

‫تضيؼ الخوارزمية )‪ junction (Y‬فتصبح القاعدة‪:‬‬

‫)‪easy(X,Y):-junction(X), junction(Y‬‬

‫واآلف ماذا تغطي ىذه القاعدة مف أمثمة؟‬

‫تختار ىذه القاعدة الثنائيات التي يكوف كؿ مف مسقطييا ىو ‪ junction‬أي ىو موزع فتكوف ىذه الثنائيات‬
‫ىي ‪:‬‬

‫}>‪{<A,B>,<A,C>,<B,C>,<B,A>,<C,A>,<C,B‬‬

‫والسؤاؿ ىؿ يوجد مثاؿ ما مف األمثمة التي تغطييا ىذه القاعدة ىو مثاؿ سالب ؟ الجواب ال‪.‬إذاً حصمنا عمى‬
‫قاعدة ال تغطي أي مثاؿ سالب فيكوف السؤاؿ اآلف ىؿ تمت تغطية جميع االمثمة الموجبة المطروحة ؟‬

‫‪58‬‬
‫الجواب ‪ :‬ال ‪ ..‬لذلؾ ننطمؽ في بناء قاعدة جديدة ‪ ..‬مع االحتفاظ بالقاعدة التي حصمنا عمييا وطبعاً نحذؼ‬
‫األمثمة الموجبة التي تمت تغطيتيا حتى اآلف‪.‬‬

‫فتصبح األمثمة الموجبة التي بقيت‪.‬‬

‫‪{<A,A1>,<A,A2>,<A1,A>,<A2,A>,<B,B1>,<B,B2>,<B1,B>,<B2,B>,‬‬

‫}>‪<C,C1>,<C,C2>,<C1,C>,<C2,C‬‬

‫ننطمؽ في بناء القاعدة الثانية ‪:‬‬

‫تضيؼ الخوارزمية الذرة )‪ shop(X,Y‬فتصبح القاعدة‪:‬‬

‫)‪easy(X,Y):-shop(X,Y‬‬

‫تختار ىذه الػقاعدة الثنائيات التي يكوف مسقطيا األوؿ ىو موزع ومسقطيا الثاني غرفة مرتبطة بيذا الموزع‬
‫بالذات فتغطي األمثمة التالية ‪:‬‬

‫{>‪{<A,A1>,<A,A2>,<B,B1>,<B,B2>, <C,C1>,<C,C2‬‬

‫نالحظ عدـ وجود أي مثاؿ سالب في األمثمة التي غطتيا ىذه القاعدة‪ ،‬ولكف لـ يتـ تغطية جميع األمثمة‬
‫الموجبة لذلؾ نمجأ لبناء قاعدة جديدة بعد حذؼ األمثمة الموجبة التي تمت تغطيتيا بيذه القاعدة فيتبقى لدينا‬
‫األمثمة الموجبة التالية التي لـ يتـ تغطيتيا‪:‬‬

‫}>‪{<A1,A>,<A2,A>,,<B1,B>,<B2,B>,<C1,C>,<C2,C‬‬

‫القاعدة الجديدة ‪:‬‬

‫تضيؼ الخوارزمية )‪ shop(Y,X‬فتصبح القاعدة‬

‫)‪easy(X,Y):-shop(Y,X‬‬

‫أي أف القاعدة ىذه تفطي الثنائيات التي يكوف فييا المسقط الثاني ىو موزع والمسقط األوؿ ىو غرفة مرتبطة‬
‫بيذا الموزع بالذات فتغطي األمثمة التالية‪:‬‬

‫‪59‬‬
‫}>‪{<A1,A>,<A2,A>,,<B1,B>,<B2,B>,<C1,C>,<C2,C‬‬

‫ونالحظ عدـ تغطية أي مثاؿ سالب فمسنا بحاجة إضافة أي ذرة كما نالحظ أنو تمت تغطية جميع االمثمة‬
‫الموجبة المتبقية فمسنا بحاجة لبناء قاعدة جديدة‪.‬‬

‫وتكوف مجموعة القواعد التي غطت جميع وفقط األمثمة الموجبة الثمانية عشر المعروفة مف خالؿ تجارب الػ‬
‫‪Robot‬ىي‬

‫)‪easy(X,Y):-junction(X), junction(Y‬‬

‫)‪easy(X,Y):-shop(X,Y‬‬

‫)‪easy(X,Y):-shop(Y,X‬‬

‫وبالنسبة لألمثمة الػ ‪ 31‬الباقية فاآلف يمكف لمنظاـ أف يستنتج فيما إذا كاف الطريؽ سيؿ بيف أياً مف مسقطييا‬
‫مف خالؿ ىذه القواعد‪.‬‬

‫الفصل السادس‬

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

‫‪ 1.6‬تاريخ وفكرة الخوارزميات الجينية‬


‫‪ 2.6‬مقدمة بيولوجية‬
‫‪ 3.6‬كيفية اسقاط المفهوم البيولوجي في مجال الحوسبة وحل المسائل‬
‫‪ 4.6‬أهمية عمليتي التصالب والطفرة في الخوارزميات الجينية‬
‫‪ 5.6‬متى تكون الخوارزميات الجينية مفيدة وفعالة‬
‫‪ 6.6‬مجاالت تطبيق الخوارزميات الجينية‬

‫‪60‬‬
‫‏‬

‫الفصل السادس‬

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

‫‪ 2.5‬تاريخ وفكرة الخوارزميات الجينية‪:‬‬


‫ركزت التجارب في الذكاء الصنعي بشكؿ تقميدي عمى محاولة تكرار تصرفات اإلنساف– أذكى الكائنات‬
‫الحية‪ -‬وتطبيقيا في مجاؿ البرمجيات وقد استطاعت ىذه المقاربة نوعا ما أف تحقؽ نجاح ممحوظ وأكبر مثاؿ‬
‫عمى ذلؾ آلة ديب بمو لمعب الشطرنج ‪ Deep Blue chess machine‬التي تغمبت عمى الذكاء البشري‬
‫المتمثؿ بالالعب كاسبروؼ ‪ Kasparov‬وذلؾ في شير أيار مف عاـ ‪ 1997‬لكف عممية المحاكاة السابقة‬
‫لمسموؾ البشري كانت محدودة نوعاً ما حيث وقفت عاجزة عف حؿ بعض المسائؿ التي يعرؼ معظـ الناس حميا‬
‫مسبقا‪ .‬ومف ىنا بدأت تظير فكرة الطرائؽ الذكية الحسابية ‪ computational intelligence methods‬مثؿ‬
‫الحوسبة التطورية ‪ evolutionary computing‬التي زودت الحاسب بإمكانية حؿ المسائؿ المعقدة دوف‬
‫‪61‬‬
‫االعتماد عمى خبرة اإلنساف وانما حاولت االستفادة مف ألية التطور المطروحة في نظرية دارويف وتحويميا‬
‫لنموذج حاسوبي كإجرائية لألمثمة فكما في الطبيعة فإف عممية التطور في الكائنات الحية تيدؼ لمتكيؼ مع‬
‫البيئة المحيطة بيدؼ النجاة فعممية التطور تتجو دوما نحو ما ىو أمثؿ وأفضؿ لمكائف الحي – و مثاؿ عمييا‬
‫تطور الزرافات بحيث استطالت اعناقيا لتستطيع الوصوؿ لغذائيا المتمثؿ في أوراؽ األشجار العالية – إذ أف‬
‫البقاء لألصمح‪.‬‬
‫وفعال فمـ تمبث االفكار السابقة طويال حبيسة المختبرات حيث تـ فعميا طرح فكرة الخوارزميات الجينية– التي ىي‬
‫جزء مف الحوسبة التطورية – بشكؿ رسمي في الواليات المتحدة عاـ ‪ 1970‬مف قبؿ بروفيسور في عموـ الحاسب‬
‫مف جامعة ميشيغاف ‪ University of Michigan‬يدعى جوف ىوالند ‪ Johon Holland‬ويبمغ مف العمر‬
‫‪76‬عاـ‪ ,‬وقد كاف قد بدأ بالعمؿ عمييا منذ بدايات الستينيات ‪,‬وكاف ىدفو تطور فيـ إجرائية التطور الطبيعية‬
‫وتصميـ نظـ صناعية ليا مميزات مشابيو لمنظـ الطبيعية‪.‬‬
‫وكما أف الدافع المستمر لتحسيف أداء النظـ الحسابية جعؿ مف الخوارزميات الجينية حأل مغريا وجذابا مف أجؿ‬
‫حؿ بعض مسائؿ األمثمة التي لـ يكف مف الممكف حميا بزمف معقوؿ باستخداـ بقية الطرؽ التقميدية السائدة‪.‬‬
‫األمثمية المحمية بدال مف الوصوؿ لمحؿ األمثمي العاـ‪ ,‬تمؾ المطبات التي غالبا ما تقع فييا طرائؽ البحث‬
‫التدريجية ‪ Gradient search methods‬لكف بشكؿ عاـ فإف الخوارزميات الجينية تميؿ ألف تكوف مكمفة‬
‫حسابيا‪.‬‬
‫ولكف ماىي فعميا الخوارزميات الجينية ؟ وما ىو بالتحديد النموذج الطبيعي الذي تـ استيحائيا منو؟‬
‫سنبدأ في البداية بتوضيح بعض المصطمحات والمفاىيـ البيولوجية بشكؿ مختصر وموجز قدر االمكاف ‪,‬التي‬
‫تشكؿ المنطمؽ الذي انطمقت منو فكرة الخوارزميات الجينة‪.‬‬

‫‪ 1.5‬مقدمة بيولوجية ‪Biological Background‬‬


‫الكروموزوـ ‪ :‬كؿ الكائنات الحية تتألؼ مف خاليا يوجد في كؿ خمية نفس مجموعة الكروموزومات‬
‫‪ chromosomes‬حيث اف الكروموزومات ىي عبارة عف سالسؿ مف الدي اف اي ‪ DNA‬وبإمكاننا القوؿ بأف‬
‫الكروموزومات ىي بمثابة نموذج يمثؿ الكائف كمو‪.‬‬
‫إذ يتألؼ كؿ كروموزوـ مف عدد مف الجينات التي بدورىا عبارة عف كتؿ مف الدي اف اي ‪ DNA‬و كؿ‬
‫جيف ‪ gene‬يرمز بروتيف محدد اي بشكؿ اساسي بإمكاننا القوؿ بأف كؿ جيف يرمز صفة معينة في الكائف الحي‬
‫عمى سبيؿ المثاؿ لوف العينيف لكؿ جيف ضمف الكروموزوـ موقعو الخاص ‪ ,‬يدعى ىذا الموقع ب ‪ locus‬تدعى‬
‫المجموعة الكاممة مف المادة الجينية –اي كؿ الكروموزومات – بالجينوـ ‪ genome‬تدعى مجموعة محددة مف‬

‫‪62‬‬
‫الجينات ضمف الجينوـ بالجينوتايب ‪ . genotype‬يتحوؿ الجينوتايب في الكائف الحي بعد التطورات التي تمي‬
‫مرحمة الوالدة – إلى الفينوتايب ‪ phenotype‬الذي يمثؿ بدوره خواص فيزيائية مدركة في الكائف الحي مثؿ لوف‬
‫العينيف‪ ،‬الذكاء… الخ‪.‬‬
‫التكاثر ‪ : reproduction‬حيث اوؿ مرحمة في عممية التكاثر ‪ ,‬ىي مرحمة االتحاد ‪recombination‬‬
‫أو التصالب ‪ crossover‬بيف الكروموزومات تقوـ الجينات مف الوالديف في ىذه المرحمة بطريقة ما بتشكيؿ‬
‫الكروموزوـ الجديد وىنالؾ احتماؿ بعدىا ليذه االجياؿ الجديدة الناتجة ‪ mutation‬بأف تخضع لمطفرة ‪new‬‬
‫‪.offspring‬‬
‫الطفرة ‪ :Mutation‬وتعني حدوث تغيير بسيط في بعض عناصر الدي اف اي ‪ DNA‬ىذه التغيرات‬
‫تنتج بشكؿ اساسي مف اخطاء اثناء نسخ الجينات مف االبويف‪ .‬تقاس صالحية ‪ fitness‬الكائف الحي بقدرة‬
‫الكائف الحي عمى النجاح في حياتو‪.‬‬

‫‪ 3.6‬كيفية اسقاط المفهوم البيولوجي في مجال الحوسبة وحل المسائل‪:‬‬


‫يتضح لدينا مما سبؽ المنطمؽ البيولوجي الذي تـ استيحاء فكرة الخوارزميات الجينية منو‪.‬‬
‫أما في مجاؿ الحوسبة فإف الفكرة األساسية التي أظيرت الحاجة لنوع مف الخوارزميات مماثؿ نوعا ماأللية عمؿ‬
‫الكروموزومات في الكائنات الحية ىي التالية‪:‬‬
‫غالباً عند محاولة حؿ مسألة ما يكوف لدينا في كؿ مرة حؿ ‪ ,‬لكنو لألسؼ‪ ,‬فإف ىذا الحؿ غالباً ال يكوف الحؿ‬
‫األمثمي وانما نستطيع وضوحا أف نر بأنو لو كاف بإمكاننا مكاممة ىذا الحؿ مع حؿ سابؽ لممسألة بشكؿ أو‬
‫بآخر ‪,‬الستطعنا الوصوؿ لمحؿ األمثؿ أي لو أف عدد مف الحموؿ تواجدت معا في لحظة معينة نالحظ اف الحؿ‬
‫األمثمي يكوف مبعث ار بينيا وبالتالي فإف وجود الية لدمج ىذه الحموؿ قد تولد لنا في لحظة ما الحؿ األمثؿ فإذا‬
‫تخيمنا كؿ حؿ بمثابة تتالي مف الجينات ضمف كروموزوـ – حؿ – المتواجد بدوره ضمف مجموعة مف‬
‫الكروموزومات المختمفة – عدة حموؿ لممسألة – ضمف تجمع ما ‪ population‬عندىا بإمكاننا عبر العمميات‬
‫المتاحة عمى الكروموزمات التصالب والطفرة انتاج حموؿ جديدة‪ -‬كروموزومات جديدة أبناء قد يمثؿ أحدىا الحؿ‬
‫األمثؿ ‪ ,‬ونستطيع تقييـ ىذا الحؿ ‪ ,‬عبر تابع الصالحية ‪ fitness function‬الذي سيقيس جودة ىذا الحؿ‬
‫وبالتالي فرصتو بالنجاة ‪ ,‬واالنتقاؿ لمجيؿ التالي‪.‬‬
‫مما سبؽ نستطيع اف نر بأف ىنالؾ ‪ 3‬مكونات اساسية لمخوارزميات الجينية‪:‬‬
‫‪ .1‬طريقة ترميز الحؿ‪-‬الكروموزوـ‪-‬بما يناسب المسألة المطروحة‪.‬‬

‫‪63‬‬
‫‪ .2‬تابع الصالحية ‪ fitness function‬ويستخدـ لتقيـ الحموؿ‪.‬‬
‫‪ .3‬المؤثرات– العمميات ‪-‬الجينية (التصالب والطفرة)‪.‬‬
‫‪ .1.3.6‬التمثيؿ البرمجي‪:‬‬
‫نعمـ بأف الخوارزميات الجينية تنطمؽ مف مجموعة عشوائية مف الحموؿ– حموؿ المسألة المطروحة وبالتالي‬
‫فإف أىـ شيء يجدر بنا التفكير بو ىو التمثيؿ البرمجي األنسب والسميـ ليذه الحموؿ بحيث نسرع الخوارزمية‬
‫بيدؼ الوصوؿ لمحؿ األمثؿ وطبعا عممية اختيار التمثيؿ األنسب عممية تابعة لممسألة التي نسعى لحميا ولكف‬
‫ىنالؾ عدد مف أساليب التمثيؿ الشييرة التي تـ تطبيقيا عمى مسائؿ مناسبة ليا والقت نجاحا ممحوظا سنعدد ىنا‬
‫عمى سبيؿ الذكر ال الحصر‬
‫بعض هذه الطرائق الشهيرة والناجحة المستخدمة في ترميز الحمول‪:‬‬
‫‪ .1‬الترميز الثنائي ‪Binary Encoding‬‬
‫ويعد مف أشير الطرائؽ المستخدمة في تمثيؿ الحموؿ في الخوارزميات الجينية ‪ ,‬وتنبع شيرتو لكونو أوؿ اسموب‬
‫تـ استخدامو في ترميز الحموؿ في الخوارزميات الجينية ‪ ,‬حيث يتـ ىنا ترميز كؿ حؿ– كروموزوـ – عمى شكؿ‬
‫سمسمة مف البتات ‪ 0‬أو‪1‬‬
‫الشكؿ التالي يوضح شكؿ كروموزوـ يستخدـ التمثيؿ الثنائي‪:‬‬
‫‪Chromosome A 101100101100101011100101‬‬

‫‪Chromosome B 111111100000110000011111‬‬

‫مثاؿ عمى مسائؿ تستخدـ ىذا التمثيؿ مسألة حقيبة الظير‪Knapsack problem‬‬
‫وىذه المسألة تيدؼ إلى حمؿ كؿ ما غال ثمنو‪ ,‬وخؼ وزنو‪ ,‬في حقيبة تحمؿ عمى الظير ‪ ,‬و يكوف لدينا في ىذه‬
‫المسألة مجموعة محددة مف األغراض ‪ ,‬لكؿ منيا وزف وثمف محدد ‪,‬حيث باستخداـ الترميز الثنائي فإف كؿ بت‬
‫يشير إلى غرض ما‪ ,‬ويمثؿ فيـ اذا تـ أخذ ذاؾ الغرض ووضعو في الحقيبة أـ ال‪.‬‬
‫‪ .2‬تمثيؿ التبادؿ ‪permutation Encoding‬‬
‫في ىذا النوع مف الترميز كؿ كروموزوـ يمثؿ سمسمة مف األعدادأو الرموز غير المتكررة والمتوضعة وفؽ تتالي‬
‫ما‪ .‬الشكؿ التالي يوضح شكؿ كروموزوـ يستخدـ ترميز التباديؿ مرة باستخداـ األعداد ومرة باستخداـ األحرف ‪:‬‬

‫‪Chromosome A 1 5 3 2 6 4 7 9 8‬‬
‫‪Chromosome B 8 5 6 7 2 3 1 4 9‬‬

‫‪Chromosome A L I G H T‬‬
‫‪64‬‬
‫‪Chromosome B I G T H L‬‬

‫يستخدـ ترميز التبادؿ عادة في مسائؿ الترتيب ‪ Ordering Problems‬مثؿ مسألة البائع المتجوؿ ‪TSP‬‬
‫ومسألة جدولة المياـ ‪.Task Ordering Problem‬‬

‫‪ .3‬ترميز القيمة ‪Value Encoding‬‬


‫في ىذا النوع مف التمثيؿ يكوف لدينا كؿ كروموزوـ عبارة عف سمسمة مف بعض القيـ– المرتبطة بشكؿ وثيؽ‬
‫بمسألة ما– ويمكف ليذه القيـ أف تأخذ عدة صيغ ممكنة وذلؾ حسب المسألة التي يتـ معالجتيا مثؿ سالسؿ مف‬
‫األرقاـ‪ ،‬األعداد الحقيقية‪ ،‬محارؼ أو حتى مجموعات مف أغراض معقدة ‪Complicated Objects‬‬
‫الشكؿ التالي يمثؿ بعض الكروموزومات التي تستخدـ ترميز القيمة‪:‬‬

‫‪Chromosome A 1.2324 5.3243 0.4556 2.3293 2.4545‬‬


‫‪Chromosome B ABDJEIFJDHDIERJFDLDFLFEGT‬‬
‫)‪Chromosome C (back), (back), (right), (forward), (left‬‬

‫ويستخدـ عادة في المسائؿ التي تستخدـ بعض القيـ المعقدة كاألعداد الحقيقية‪.‬‬
‫مالحظة‪:‬‬
‫مف أجؿ ىذا النوع مف التمثيؿ قد نضطر إلى تطوير مؤثرات تصالب وطفرة خاصة لتناسب عمية التمثيؿ‬
‫المستخدمة في ىذه المسائؿ‪.‬‬
‫مثاؿ عمى مسائؿ تستخدـ ىذا النوع مف الترميز‪:‬‬
‫إيجاد مجموعة األوزاف لشبكة عصبونية ‪Finding weights for neural network‬‬
‫‪ .4‬ترميز الشجرة ‪Tree Encoding‬‬
‫يستخدـ ىذا النوع مف الترميز بشكؿ أساسي لمتعابير والبرامج التطورية ‪programs or expressions‬‬
‫‪ evolving‬كما يستخدـ لمبرمجة الجينية ‪ programming genetic‬حيث يكوف كؿ كروموزوـ في ترميز‬
‫الشجرة بمثابة شجرة مف بعض األغراض ‪ objects‬مثؿ التوابع أو األوامر في لغات البرمجة‬
‫الشكؿ التالي يمثؿ كروموزومات تستخدـ ترميز الشجرة‪.‬‬

‫‪65‬‬
‫نعود ونذكر بأف ىذا النوع مف الترميز مفيد في البرامج التطورية ‪evolving programs‬‬
‫لغة البرمجة ‪ LISP‬تستخدـ ىذا النوع مف التمثيؿ وذلؾ ألف البرامج ضمنيا تمثؿ بيذا النموذج ويمكف بسيولة‬
‫تحميميا– تحميؿ بنية البرنامج ‪ Parsing‬باستخداـ ىذا النموذج في التمثيؿ وبالتالي يمكف عندىا تطبيؽ المؤثرات‬
‫الجينية– كالتصالب والطفرة – بسيولة باستخداـ ىذا النموذج في التمثيؿ‪.‬‬
‫مثاؿ مسألة إيجاد تابع انطالقا مف عدة نقاط‪.‬‬
‫إذ تكوف المسألة معطاة بالشكؿ التالي ‪ :‬لدينا مجموعة معطاة مف قيـ الدخؿ وقيـ الخرج الموافقة ليا والمطموب‬
‫إيجاد أفضؿ تابع يعطي قيـ خرج لقيـ الدخؿ المعطاة وبحيث تقارب ىذه القيـ– قيـ الخرج – قدر اإلمكاف قيـ‬
‫الخرج المعطاة في المسألة‪.‬‬
‫حيث يكوف الكروموزوـ ىنا بمثابة توابع ممثمة في بنية الشجرة‪.‬‬
‫ونعود ونأكد بأف طبيعة المسألة ىي التي تحكـ عممية التمثيؿ إذ أف ىنالؾ عالقة وثيقة بيف التمثيؿ المستخدـ‬
‫وشروط المسألة المطموب حميا مثاؿ عمى ذلؾ مسألة البائع المتجوؿ ‪ TSP‬حيث مف شروط المسألة‪ :‬يجب زيارة‬
‫مدينة ما مرة واحدة وفقط واحدة وبالتالي فإف أحد التمثيالت المناسبة ىو عبارة عف تبديؿ‪ permutation‬بيف‬
‫سمسمة مف المحارؼ أو األعداد الصحيحة حيث كؿ سمسمة– التي تمثؿ حؿ في النياية – ال يتكرر فييا رمز ما‬
‫أكثر مف مرة واحدة‪.‬‬

‫‪ 2.3.6‬المكوف الثاني ‪ :‬تابع الصالحية ‪fitness function‬‬


‫في لحظة ما عندما يكوف لدينا عدد مف الحموؿ ‪ ,‬نحف بحاجة أللية فعالة ومدروسة توجينا نحو الحؿ األفضؿ‬
‫مف بيف مجموعة مف الحموؿ المطروحة أي نحف بحاجة لتابع الصالحية الذي يرشدنا نحو الحؿ األمثؿ ويعطينا‬
‫تقييـ أولي اي مف ىذه الحموؿ ىو أقدر عمى النجاة وأصمح ألف ينتقؿ لمجيؿ التالي‪ .‬وطبعا ىنا أيضا فإف عممية‬
‫اختيار ىذا التابع ذو عالقة وثيقة بالمسألة المطروحة وال يوجد تابع عاـ بشكؿ مطمؽ لحساب الصالحية‪.‬‬

‫‪66‬‬
‫مالحظة‪ :‬عممية االنتقاؿ لمجيؿ التالي ‪ ,‬تتـ عبر عممية االنتقاء ‪ Selection Operator‬التي سنشرحيا بعد‬
‫قميؿ‪.‬‬
‫‪ 3.3.6‬المكوف الثالث يتجمى بالعمميات الجينية ‪Genetic Operators‬‬
‫تنبع أىمية العمميات الجينية مف إيجاد حموؿ لـ تكف موجودة سابقاً في فضاء الحموؿ ومف أىـ العمميات‬
‫الجينية‪:‬‬
‫‪ ‬التصالب ‪crossover or recombination‬‬
‫‪ ‬الطفرة ‪mutation‬‬
‫ويعتمد بشكؿ كبير أداء الخوارزميات الجينية عمى ىذيف المؤثريف وطبعا بالتأكيد فإف أسموب التمثيؿ المستخدـ‬
‫لو دوره ايضا‪ .‬وكبداية سنبدأ بشرح عممية التصالب‪.‬‬

‫أوال عممية التصالب ‪:crossover‬‬


‫وىي عممية منتجة أي تنطمؽ مف كروموزوميف (صبغييف)–حميف– مف الجيؿ الحالي – جيؿ اآلباء – لتعطي‬
‫بشكؿ عاـ حميف أبناء ‪ two offspring‬بينما الطفرة ىي عممية يتـ فييا إجراء تبديؿ – تغير – عمى بعض‬
‫جينات كروموزوـ (صبغي) ما‪.‬‬
‫ننوه ىنا إلى أف نتجير كؿ مف عمميتي التصالب ‪ crossover‬والطفرة ‪ mutation‬تعتمد بشكؿ أساسي عمى‬
‫أسموب الترميز المستخدـ لممسألة ‪ ,‬وتتغير بتغيره‪ ,‬ولتوضيح ىذه الفكرة ‪ ,‬سنذكر ىنا بعض األساليب الشييرة في‬
‫انجاز الطفرة و التصالب وذلؾ وفقا لترميز محدد سابؽ‪.‬‬
‫في حاؿ الترميز الثنائي ‪ :Binary Encoding‬لدينا طيؼ واسع مف أساليب التصالب ‪crossover‬‬
‫الممكنة‪ ،‬نذكر منيا‪:‬‬
‫‪ .I‬التصالب بنقطة وحيدة ‪: Single point crossover‬‬
‫وفي ىذا النوع مف التصالب يتـ في البداية تحديد نقطة تصالب وحيدة ومف ثـ يتـ نسخ الجينات لالبف األوؿ‬
‫مف بداية الكروموزوـ الممثؿ ألحد الوالديف لنقطة التصالب والبقية يتـ نسخيا مف الوالد الثاني وينتج االبف الثاني‬
‫وفؽ عممية موافقة لمعممية السابقة ولكف األب الذي كاف يأخذ منو الجزء األوؿ مف الجينات يصبح مصدر لبقية‬
‫الجينات بينما األب الثاني تأخذ منو السمسمة الجينية مف بدايتو لنقطة التصالب وتنسخ لالبف الثاني‪ .‬الرسـ‬
‫التوضيحي التالي يبيف آلية العممية السابقة‪.‬‬

‫‪67‬‬
‫‪11001011+11011111 = 11001111‬‬
‫‪Chromosome parent A 11001011‬‬
‫‪Chromosome parent B 11011111‬‬
‫‪Offspring C 11001111‬‬
‫‪Offspring D 11011011‬‬

‫‪ .II‬التصالب وفؽ النقطتيف ‪two point crossover‬‬


‫في البداية يتـ اختيار نقطتي تصالب حيث يتـ ىنا نسخ مف بداية الكروموزوـ( الصبغي ) ألوؿ نقطة تصالب‬
‫مف أحد الوالديف لالبف ‪ ,‬ومف ثـ الجزء مف السمسمة الثنائية انطالقا مف أوؿ نقطة تصالب لثاني نقطة تصالب يتـ‬
‫نسخيا مف الوالد الثاني بينما بقية السمسمة الثنائية لالبف الناتج يتـ اخذىا مف األب األوؿ وذلؾ مف ثاني نقطة‬
‫تصالب لنياية األب‪ .‬إليكـ الرسـ التوضيحي التالي‪:‬‬

‫‪11001011 + 11011111 = 11011111‬‬


‫‪Chromosome parent A 11001011‬‬

‫‪Chromosome parent B 11011111‬‬


‫‪Offspring C 11011111‬‬
‫‪Offspring D 11001011‬‬

‫‪Uniform crossover .III‬‬


‫ويتـ في ىذا النوع مف التصالب اختيار بتات بشكؿ عشوائي ونسخيا مف الوالد أو الوالد الثاني لالبف‪.‬‬

‫‪11011111 = 11011101 + 11001011‬‬


‫‪Chromosome parent A 11001011‬‬
‫‪Chromosome parent B 11011101‬‬
‫‪Offspring C 11011111‬‬

‫‪68‬‬
‫‪Offspring D 11001001‬‬

‫‪ .IV‬التصالب الحسابي ‪Arithmetic crossover‬‬


‫وفي ىذا النوع مف التصالب يتـ انجاز بعض العمميات الحسابية وذلؾ إلنشاء أبناء جدد‪.‬‬

‫‪(AND) 11001001 = 11011111 + 11001011‬‬

‫ثانيا عممية الطفرة ‪:Mutation‬‬


‫في حالة الترميز الثنائي تكوف الطفرة ببساطة ماىي إال عممية عكس ألحد البتات في الكروموزـ (الصبغي)‬
‫حيث يتـ اختبار البت ثـ قمبو‪.‬‬
‫مثاؿ توضيحي‪:‬‬

‫‪10001001 <= 11001001‬‬

‫‪ .1‬ترميز التبادؿ ‪ : Permutation Encoding‬التصالب بنقطة وحيدة ‪Single point crossover‬‬


‫يتـ اختيار نقطة التصالب وحتى الوصوؿ ليذه النقطة يتـ نسخ التباديؿ مف الوالد األوؿ ومف ثـ يتـ مسح الوالد‬
‫الثاني جينا تمو جيف وفي حاؿ لـ يكف الجيف الذي يتـ مسحو موجوداً مسبقاً في االبف الناتج عندىا وفقط عندىا‬
‫تتـ إضافتو ليذا االبف‪ .‬واليدؼ مف اإلجراء السابؽ ىو الحفاظ عمى مفيوـ التباديؿ وعدـ تكرار الرموز في‬
‫السمسمة الجينية‪.‬‬
‫مالحظة‪ :‬يوجد طرؽ متعددة إلنتاج بقية الجينات لالبف الناتج بعد عممية نسخ الجينات حتى نقطة التصالب‬
‫األولى ‪ ,‬لكننا لسنا بصدد ذكرىا كميا ىنا‪.‬‬
‫)‪(7 9 8 6 5 4 3 2 1) = (1 2 7 9 8 6 3 5 4) + (9 8 7 6 5 4 3 2 1‬‬
‫الطفرة ‪ :Mutation‬ويتـ انجازىا ىنا ببساطة عبر تغير الترتيب في السمسمة الممثمة لمكروموزوـ حيث يتـ‬
‫اختيار رمزيف مف الكروموزوـ ويتـ إجراء التبديؿ بينيما‪.‬‬

‫‪69‬‬
‫)‪(7 9 2 6 5 4 3 8 1) <= (7 9 8 6 5 4 3 2 1‬‬
‫‪ .2‬ترميز القيمة ‪Value Encoding‬‬
‫كؿ عمميات التصالب المتاحة في الخوارزميات الجينية يمكف انجازىا ىنا‬
‫الطفرة ‪ :Mutation‬مثالً في حاؿ القيـ كانت ممثمة عمى شكؿ أعداد حقيقية ‪ ,‬عندىا يمكف إضافة أو طرح قيمة‬
‫حقيقية صغيرة مف القيمة المحددة مف الكروموزوـ ‪ ,‬والتي مف المطموب إجراء الطفرة عمييا‪.‬‬
‫)‪(1.29 5.68 2.86 4.11 5.55) => (1.29 5.68 2.73 4.22 5.55‬‬
‫‪ .3‬ترميز الشجرة ‪Tree Encoding‬‬
‫التصالب‪ :‬يتـ اختيار نقطة تصالب مف كؿ الوالديف ويتـ تقسيـ كؿ مف الوالديف عند نقطة التصالب المختارة‪،‬‬
‫ومف ثـ يتـ تبادؿ االجراء تحت نقطة التصالب تمؾ بيف الوالديف إلنتاج ابنيف جدد ‪new offspring‬‬
‫االجراء السابؽ موضح في الرسـ التالي أدناه‪:‬‬

‫الطفرة ‪ :Mutation‬ويمكف تخيميا عمى أنيا تبديؿ العمميات أو األعداد أو‪ ...‬وذلؾ حسب المسألة‬
‫المطروحة‪ .‬أي باختصار العقد التي يتـ اختيارىا مف الشجرة‪ ،‬يتـ اجراء التبديؿ عمييا‪.‬‬

‫ثالثا عممية االنتقاء ‪Selection‬‬

‫ومما اتضح لنا سابقا مف الخطوط العريضة التي تسير وفقيا الخوارزميات الجينية فإف الكروموزومات‬
‫(الصبغيات) اآلباء التي تخضع لعممية التصالب يتـ اختارىا – انتقائيا – وفؽ آلية محددة مف التجمع الحالي‬
‫تكمف المسألة ىنا في كيفية اختيار ىذه الكروموزومات (الصبغيات)‪ ,‬فحسب نظرية دارويف في التطور فإف‬
‫الكروموزومات (الصبغيات ) األفضؿ يجب أف تنجو ومنيا تنشأ الكروموزومات(الصبغيات ) األبناء‪ .‬إذف تعود‬
‫مسألتنا ىنا إلى مسألة االختيار األمثؿ‬

‫‪.‬عمميا يوجد عدة طرائؽ لتحديد كيفية انتقاء الكروموزوـ (الصبغي ) األمثؿ‪.‬‬

‫‪70‬‬
‫عمى سبيؿ المثاؿ‪ :‬عجمة الروليت ‪ ،Roulette wheel Selection‬انتقاء بولتزماف ‪Boltzman selection‬‬
‫انتقاء الحالة المستقرة ‪.... Steady state selection‬الخ‪.‬‬

‫سنورد فيما يمي شرح لطريقة عجمة الروليت في االنتقاء‪Roulette Wheel Selection :‬‬

‫يتـ اختيار الوالديف في ىذه الطريقة اعتمادا عمى قيـ صالحياتيـ‪ ,‬فكمما ازدادت قيمة صالحية الكروموزوـ كمما‬
‫ازداد احتماؿ اختياره‪ .‬وحتى نتعرؼ آللية عمؿ ىذه الطريقة دعونا نتخيؿ أمامنا عجمة الروليت بحيث تتوضع‬
‫كؿ الكروموزومات الموجودة في التجمع فييا ولكف وفؽ قطاعات تتناسب مع قيـ صالحياتيا حيث يحتؿ‬
‫الكروموزوـ ذو الصالحية األكبر القطاع األكبر‪.‬‬
‫ويتضح لنا ذلؾ مف الصورة أدناه‪:‬‬

‫ومف ثـ يرـ حجر المقامرة ضمف العجمة‪ ,‬وحسب القطاع الذي سيقع فيو سيتـ اختيار الكروموزوـ الموافؽ‬
‫وبالتالي فإف الكروموزوـ ذو القطاع األكبر الصالحية األكبر سيكوف عرضة لالختيار أكثر مف مرة‪.‬‬
‫باختصار يمكننا تمخيص االجرائية السابقة وفؽ الخوارزمية التالية‪:‬‬
‫‪( .1‬المجموع) حساب مجموع قيـ صالحية كؿ الكروموزومات الموجودة ضمف التجمع ولنرمز لو ب ‪.S‬‬
‫‪( .2‬االختيار) توليد عدد عشوائي ‪ r‬ضمف المجاؿ]‪[0,S‬‬
‫‪( .3‬حمقة) نمر بحمقة عمى الكروموزومات ضمف التجمع ونقوـ بحساب مجموع قيـ الصالحيات أثناء ىذا‬
‫المرور ‪,‬وعندما نصؿ لقيمة ليذا المجموع أكبر مف ‪ r‬عندىا نتوقؼ ونعيد الكروموزوـ الذي وصمنا عنده وأدى‬
‫لكسر الحمقة‪.‬‬
‫مالحظة ‪ :‬بالطبع فإف الخطوة رقـ ‪ 1‬نتفذ مرة واحدة فقط مف أجؿ كؿ تجمع‪.‬‬

‫نالحظ مما سبؽ بأنو يوجد مشكمة في طريقة االختيار السابقة وذلؾ عندما تتبايف قيـ الصالحية بشكؿ‬
‫كبير‪,‬عمى سبيؿ المثاؿ‪ ,‬إذا كانت أفضؿ قيمة صالحية لكروموزوـ كبيرة لدرجة تغطي فييا ‪ 90 %‬مف عجمة‬
‫الروليت عندىا سيكوف لبقية الكروموزومات فرص ضئيمة جدا ألف يتـ اختيارىا‪.‬‬

‫‪71‬‬
‫مبدأ الخوارزميات الجينية‬
‫مما سبؽ نرى بأف مبدأ الخوارزميات الجينية بسيط جدا ويمكف تمخيصو كما يمي‪:‬‬
‫‪ .1‬ترميز المسألة بالشكؿ المناسب واألمثؿ‬
‫‪ .2‬التوليد العشوائي لمتجمع ‪ population‬البدائي المؤلؼ مف مجموعة مف الكروموزومات التي تتألؼ بدورىا‬
‫مف مجموعة مف الجينات ‪ ,‬حيث اف كؿ كروموزوـ (الذي ىو عبارة عف تجمع جيني)عبارة عف حؿ‪.‬‬
‫‪ .3‬حساب قيمة الصالحية لكؿ كروموزوـ (حؿ) مف الكروموزومات الموجودة في التجمع ‪ .‬ويعتمد أسموب تقييـ‬
‫صالحية كؿ حؿ في الجيؿ بمقدار بعده عف الحؿ االمثمي الذي نبحث عنو‪.‬‬
‫‪ .4‬يتـ اختيار الكروموزومات التي ستخضع لعممية التصالب لتوليد الجيؿ الجديد وعممية االختيار تقوـ بحسب‬
‫إحدى النظريات الكثيرة المقترحة في ىذا المجاؿ‪,‬وترتكز عممية االختيار بشكؿ اساسي عمى مدى صالحية الحؿ‬
‫في االنتقاؿ لمجيؿ الثاني والتي يقوـ بتحديدىا تابع الصالحية‬
‫‪ .5‬تمي عممية االختيار عمميتي التصالب والطفرة‪.‬‬
‫‪ .6‬ومف ثـ نعود مجددا لمبدء مف الخطوة رقـ ‪.3‬‬

‫‪ 3.5‬أهمية عمميتي التصالب والطفرة في الخوارزميات الجينية‪:‬‬


‫تشكؿ عممية التصالب في الخوارزميات الجينية العممية األساسية ‪ ,‬طبعا ال غنى لنا عف بقية العمميات‬
‫مثؿ الطفرة– التي تعطي تنوع وراثي لمتجمع في الواقع قد ال يتواجد الحؿ المطموب حتى في تجمع كبير جدا في‬
‫حاؿ اعتمدنا بشكؿ اساسي عمى التصالب فقط لذلؾ نحف بحاجة ماسة لمطفرة التي تحسف وتزيد فرصة الحصوؿ‬
‫عمى الحؿ األمثمي وبالمثؿ ال يمكننا االعتماد عمى الطفرة وحدىا في الخوارزميات الجينية ألنيا تبطئ العممية‬
‫كثي ار ‪ ,‬لذلؾ نمجأ لمزيج مف العمميتيف بيدؼ الحصوؿ عمى الحؿ األمثمي او القريب منو بأسرع وقت ممكف‪.‬‬
‫وحتى ال يبقى الكالـ السابؽ مجرد كالـ نظري‪ ,‬إليكـ المثاؿ التالي الذي يوضح أىمية الطفرة والتصالب في‬
‫الخوارزميات الجينية‪.‬‬
‫لنتخيؿ المسألة التالية‪ :‬بفرض أف ىدفنا ىو الحصوؿ عمى أكبر عدد صحيح موجب ممثؿ عمى ‪ 7‬خانات ثنائية‬
‫وذلؾ انطالقا مف تجمع يحوي عدد مف الكروموزومات في تمثيمنا لممسألة سالسؿ مف الخانات الثنائية المييئة‬
‫بشكؿ عشوائي في بداية التجمع‪.‬‬
‫مالحظة‪:‬‬
‫بيدؼ التبسيط ‪ ,‬والتركيز عمى الفكرة الم ارد إيصاليا سنيمؿ فكرة إشارة العدد الصحيح وأية اعتبارات أخرى‪.‬‬
‫وضوحا فإف الحؿ األمثؿ ىو السمسمة الثنائية الكاممة الوحداف ‪ ,‬اي المؤلفة مف تتالي ‪ 7‬واحد دوف ورود أي صفر‬
‫‪Chromosome 1111111‬‬
‫‪72‬‬
‫وبفرض أنو بعد عممية التييئة العشوائية لمحموؿ كاف لدينا مجموعة الحموؿ التالية‪:‬‬
‫‪Chromosome A 1100011‬‬
‫‪Chromosome B 0001100‬‬
‫‪Chromosome C 0110000‬‬

‫نجد أف الحؿ األمثمي الذي نبحث عنو موجود ضمف التجمع‪ ،‬ولكنو غير فعاؿ لكونو مبعثر ضمف عدد مف‬
‫الحموؿ فنجد أنفسنا ىنا بحاجة آللية التصالب ‪ Crossover‬بيدؼ دمج ىذه الحموؿ معا والوصوؿ لمحؿ‬
‫المطم وب‪ .‬وبفرض أف الخوارزمية المتبعة ىنا تعتمد بشكؿ أساسي عمى عممية التصالب فقط‪ ،‬دوف عممية‬
‫الطفرة وبعد عدد معيف مف األجياؿ وصمنا لحموؿ مقاربة جدا لمحؿ األمثمي‪ ،‬سالسؿ مفعمة بالواحد ولكف‬
‫لمصدفة فإف أي مف السالسؿ ال يحوي الواحد في الخانة األولى وبالتالي باالعتماد عمى التصالب فقط قد‬
‫نصؿ لحؿ قريب جدا مف الحؿ األمثمي‪.‬‬
‫‪Chromosome x 1111110‬‬
‫لكننا لف نصؿ بحياتنا لمحؿ األمثمي نيائيا ‪ ,‬وذلؾ الفتقارنا لعممية الطفرة التي قد تغير مجرى العممية كميا إذا‬
‫حدث وأف قمبت أوؿ صفر لواحد في أحد الحموؿ ‪ ,‬وعندىا تعود لنا فرصة الحصوؿ عمى الحؿ األمثمي‪.‬‬
‫وسنستغؿ فرصة ذكر المثاؿ السابؽ بيدؼ توضيح مفيومي الجينوتايب ‪ ,‬والفينوتايب ‪,‬نستذكر حديثنا عف ىذيف‬
‫المفيوميف مف المقدمة البيولوجية ‪ ,‬حيث إف الجينوتايب يمثؿ الحؿ بشكمو الوراثي ‪ ,‬وبالقياس نجد أف الجينوتايب‬
‫في المسألة السابقة يمثؿ السمسمة الثنائية ذات السبع خانات المتتالية مف األصفاروالوحداف ‪ ,‬بينما الفينوتايب‬
‫يمثؿ الحؿ بشكمو الفيزيائي ‪ ,‬أي في مسألتنا يمثؿ القيمة العددية الصحيحة لمحؿ الناتج ‪.‬‬

‫الرسـ‪:‬‬

‫‪ 4.5‬متى تكون الخوارزميات الجينية مفيدة وفعالة‪:‬‬


‫تكوف بشكؿ عاـ الخورازميات الجينية مفيدة وفعالة في أحد الحاالت التالية‪:‬‬
‫‪ .1‬عندما يكوف فضاء البحث كبير جدا و معقد إلى حد ما وغير مفيوـ بشكؿ واضح‬
‫‪ .2‬المعمومات‪ ,‬أو باالحرى المعرفة في المجاؿ المدروس نادرة ‪ ,‬أو أنو مف الصعب ترميز خبرة الخبير في‬
‫المجاؿ المدروس بيدؼ تضيؽ فضاء البحث‬

‫‪73‬‬
‫‪ .3‬ال يوجد طرائؽ تحميؿ رياضي معروفة لحؿ المسألة‪.‬‬
‫‪ .4‬فشمت طرائؽ البحث التقميدية لحؿ المسألة‪.‬‬

‫‪ 5.5‬مجاالت تطبيق الخوارزميات الجينية‪:‬‬


‫تـ تطبيؽ الخوارزميات الجينية في عدد كبير مف المجاالت ‪ ,‬منيا العممية ‪ ,‬المسائؿ اليندسية ‪ ,‬وفي مجاؿ‬
‫األعماؿ واأللعاب والروبوتات…‬
‫بعض التصنيفات الرئيسية التي استخدمت فييا الخوارزميات الجينية‪:‬‬
‫‪ .1‬مسائؿ األمثمة بشكؿ عاـ‪:‬‬
‫بما فييا األمثمة العددية والحسابية مثؿ مسألة البائع المتجوؿ‪ TSP‬التصميـ الصناعي مثؿ مسألة آلة تقطيع‬
‫الخشب‪ ,‬جدولة أعماؿ التسوؽ ‪ ,‬أمثمة جودة الصوت والفيديو‪.‬‬
‫‪ .2‬البرمجة األوتوماتيكية‪:‬‬
‫حيث تـ استخداـ الخوارزميات الجينية لتطوير برامج حاسوبية بيدؼ تنفيذ مياـ محددة ولتصميـ بنى‬
‫حاسوبية أخرى مثؿ شبكات الفرز ‪Sorting network‬‬
‫‪ .3‬تعمـ الروبوتات واآلالت‪:‬‬
‫تـ استخداـ الخوارزميات الجينية في كثير مف تطبيقات التعمـ التمقائي ‪ machine learning‬ومف‬
‫ضمنيا التصنيؼ ‪ classification‬والتنبأ ‪prediction‬‬
‫وقد تـ استخداـ الخوارزميات الجينية في تصميـ الشبكات العصبونية ‪neural networks design‬‬

‫‪ .4‬النماذج االقتصادية ‪Economic models‬‬


‫تم ‏استخدام ‏الخوارزميات ‏الجينية ‏لنمذجة ‏آليات ‏ابتكار ‏وتطوير ‏استراتيجيات ‏المزايدة ‏وفي ‏مجال ‏نشوء‏‬
‫األسواق‏االقتصادية‏‪emergence of economic markets‬‬

‫‪ .5‬التفاعل‏بين‏التطور‏والتعلم‪:‬‬

‫حيث‏تم‏استخدامها‏لدراسية‏التأثير‏المتبادل‏بين‏تعلم‏األفراد‏وتطور‏األنواع‪ .‬‏‬

‫‪ .6‬كنماذج‏لألنظمة‏االجتماعية‪:‬‬

‫تم ‏استخدامها ‏لدراسة ‏جوانب ‏تطور ‏النظم ‏االجتماعية ‏مثل ‏تطور ‏التعاون ‏ ‪evolution of‬‬
‫‪cooperation‬‏وتطور‏االتصال‏‪evolution of communication‬‏وسلوك‏القافلة‏لدى‏النمل‏ ‪trail‬‬
‫‪.following behavior in ants‬‬

‫‪74‬‬
‫‏‏‬

‫‏‬

‫‏‬

‫‏‬

‫‏‬

‫‏‬

‫‏‬

‫‏‬

‫‪75‬‬

You might also like