Professional Documents
Culture Documents
Artificial Intelligence
.1الذكاء
.2الذكاء الصنعي
.5تجربة تورينغ
.6مقارنات عامة
.7هندسة المعرفة
2
يتكوف مخ اإلنساف من جزأين أيسر وأؽلن حيث زبتص اجلهة اليسرى من ادلخ دبعاجلة ادلهاـ بصورة تتابعيو ومنطقية اليت تشمل
فهم اللغات الطبيعية واالستدالؿ ادلنطقي واإلحساس بالواقع بينما زبتص اجلهة اليمٌت دبعاجلة بيانات ادلسألة مرة واحدة بصيغة متوازية
مثل التعرؼ على ادلناظر والصور وتنسيق عمل الوظائف ادلختلفة يف جسم اإلنساف .ىذا النموذج ؽلكن أف يوجو مسار البحوث
وذلك بطرح فرضيات تقوـ التجارب باختبار صحتها حيث أف دراسة ادلخ البشري دل تكتمل بعد والذي ؽلثل أعقد تركيب يف جسم
اإلنساف.
فهم الذكاء يتطلب فهم كيفية اكتساب ادلعارؼ وسبثيلها وزبزينها وكيف غلري توليد السلوؾ الذكي وتعلمو.
الذكاء (يف القاموس) :ىو القدرة على التفكَت والفهم عوضا عن القياـ باألعماؿ بالفطرة أو آليا.
الذكاء الطبيعي :كائن لو دماغ ,أو شيء ما ,ؽلكنو من التعلم ,والفهم ,وحل ادلشاكل وازباذ القرارات.
2.1الذكاء الصنعي:
ىو علم يبحث السلوؾ الذكي لغَت الكائنات احلية.يتميز السلوؾ الذكي بالقدرة على اكتساب ادلعرفة واستخدامها يف معاجلة األشياء
احمليطة وحل ادلسائل أو تقسيم ادلسألة ادلعقدة إذل أجزاء بسيطة .كما يتميز بالقدرة على التعلم من خالؿ التجارب ادلختلفة والقدرة
على االستنتاج والتعميم والتمييز بُت ادلواقف ادلتشاهبة ادلختلفة والتفهم وعلى األخص عند وجود معلومات ملتبسة .أيضا يتميز بالقدرة
للمواقف . على التخطيط وازباذ القرارات واالستجابة ادلرنة
أىداؼ الذكاء الصنعي طويلة األمد ىو إنشاء آالت ؽلكنها فعل ىذه األشياء باجلودة اليت يقدمها البشرأو حىت على ضلو أفضل من
البشر .الغرض اآلخر ىو فهم ىذا النوع من السلوؾ سواء حدث من اآلالت أـ من البشر أـ من كائنات أخرى.
3
يف ادلعلوماتية الكالسيكية يعاجل احلاسب معلومات رقمية ويتم ربويل كل البيانات إذل أرقاـ ويتم استخداـ اخلوارزميات بشكل
تسلسل منطقي من العمليات خطوة خبطوة من بداية زلددة إذل هناية زلددة يف حل ادلشكلة .أما من وجهة نظر الذكاء الصنعي
يتعامل احلاسب مع معلومات رمزية (معرفة) وتتم معاجلتها بطريقة ذبريبية باالعتماد على االستدالؿ واالستنتاج حيث أف العمليات
الذىنية لدى اإلنساف تعتمد على اكتساب اخلربة اليت تتكوف من التجربة.
إف كلمة صنعي غالبا ما تشَت إذل اآللة أو احلاسوب وبالتارل ؽلكن إعطاء تعريف بسيط للذكاء الصنعي بأنو استجابة اآللة بطريقة
ذكية للمهمة ادلسندة ذلا .يعترب الذكاء الصنعي إذا فرع من علوـ احلاسب الذي يهدؼ إذل دراسة وظلذجة وتصميم أنظمة وبررليات
رباكي يف أداءىا السلوؾ الذكي لإلنساف .حيث أف أجهزة احلاسوب سبتلك قدرات زبزين عالية بادلقارنة مع االنساف الذي ؽلتلك
بدوره قدرة أكرب يف ربديد العالقات بُت األشياء والتعرؼ على ادلناظر واألشخاص وفهم مكونات العادل اخلارجي فإذا مت إضافة ىذه
ادلقدرة عليها ألصبحت ذكية.
الذكاء الصنعي" :جهود مثَتة جلعل احلواسيب (اآلالت) تفكر ..أف يكوف ذلا عقل دبعٌت الكلمة" Haugeland 1985
"دراسة اإلمكانات الذىنية عرب استخداـ ظلاذج حسابية" ()Charniak & McDermott 1985
جزء من علوـ احلاسوب يهتم بتصميم نظم حاسوبية ذكية تتصف باخلواص اليت يتصف هبا البشر األذكياء :فهم اللغات ,التعلم,
)Barr احملاكمة ,حل ادلسائل ,وغَتىا& Feigenbaum 2003( ...
شلا الشك فيو ىو أف السبب الرئيسي الذي أدى إذل انتقاؿ رلاالت الذكاء الصنعي من الناحية البحثية واألكادؽلية إذل التطبيق العملي
يعود إذل تطور القسم العتادي Hardwareللحواسيب حيث أهنا تستهلك قدرا كبَتا من مصادر Resouresاآللة ويبُت
الشكل 2-1تاريخ تطر الذكاء الصنعي مع تطور احلاسوب.
4
ىل ىو حاسوب ليو معطيات Data؟ أي لديو أرقاـ وزلارؼ وأمساء خاـ..؟ بالطبع ال ,فتجميع ادلعطيات وخزهنا ليس فيو كبَت من
الذكاء.
ىل ىو حاسوب لديو معلومات information؟ أي إنو يتضمن نتائج معاجلة رياضية وإحصائية إلعطاء توصيف مفيد
للمعطيات ,مثل إغلاد ادلتوسط مجيع القيم أو إغلاد القيمة األعلى تكرارا أو القيمة الدنيا..؟ أيضا ال ,أذ ال تتطلب مثل ىذه ادلعاجلات
أي ذكاء .وىي رلرد عمليات حسابية على ادلعطيات.
ىل ىو نظاـ معلومات يشمل كيفية زبزين واسًتجاع ادلعلومات؟ ىنا أيضا نتحدث عن قواعد معطيات فقط .وإف كاف التوجو إذل
نظم قواعد معطيات ذكية.
ىل ىو نظاـ خبَت؟ غلمع ادلعطيات ,ينشئ معلومات ,يستشَت خبَتا عن صالحية ادلعلومات والقواعد عليها ,يضع برنارلا حلل ادلسائل
ادلتعلقة هبذه اخلربة؟ ىنا فقط بدأنا نتحدث عن خربة ومعرفة وذكاء.
قاـ العادل االنكليزي Allan turingبإجراء ذبربة يف عاـ 1951عرفت بامسو هتدؼ إذل اختبار ذكاء اآللة (تستطيع
التفكَت) أو مىت نقوؿ عن برنامج أنو ذكي .تتلخص ىذه التجربة يف وضع طرفيتُت يف حجرتُت منفصلتُت ومعزولتُت يوجد يف إحداعلا
إنساف يتصالف بطرفية ثالثة يف حجرة ثالثة معزولة عن احلجرتُت يتواجد فيها أيضا إنساف الذي ؽلثل احلكم ومهمتو إجراء حوار مع كل
من اإلنساف واآللة الكتشاؼ أي الطرفيتُت يتصل باإلنساف دوف أف يراعلا كما ىو مبُت يف الشكل .1-1بعد احلصوؿ على
5
اإلجابات منهما ,إذا استطاع التفريق بُت مصادر اإلجابات نقوؿ عن اآللة أو الربنامج بأنو غَت ذكي وإذا دل يستطع نقوؿ بأنو ذكي
ألنو استطاع أف ؼلدع اإلنساف .القى ىذا االختبار الكثَت من االنتقادات لتأثر نتيجتو باحلكم لكنو وضع األساس الذي بدأت فيو
أحباث الذكاء الصنعي تبصر النور.
.1ادلنطق logic
.2البحت الشامل Exhaustive Search
.3ادلنطق العائم Fuzzy logic
.4الشبكات العصبونية Neural Networks
.5اخلوارزمية اجلينية Genetic Algorithm
6
.3الرؤية Machine visionالتعرؼ على األشكاؿ Pattren recognition
.4سبييز الصوت Speech Recognition
.5التخطيط واألسبتة كالروباتات Robots
.6التعلم التلقائي Machine learning
.7تطبيقات األلعاب Games
7
الفصل الثاني
المنطق الصفري
1.2كيفية تعريف لغة
2.2المنطق
3.2المنطق االقتراحي
2.4قاعدة المعرفة
5.2عبارة هورن
6.4االستتباع
2.4االستدالل
8
الفصل الثاني :المنطق الصفري
يف لغة اجلرب :العبارة التالية X++y=5ىي عبارة خاطئة ال تنتمي إذل لغة اجلرب ألهنا ال ربقق القواعد اإلمالئية لغة اجلرب.
;int g=5
;"char a []="art
;a=g //Semantic Error
ألف C++ Semanticاليسمح بتخزين متحوؿ صحيح يف سلسلة زلرفية ولكن الحظ أف اجلملة ; a = gصحيحة إمالئيا.
1.1المنطق
ادلنطق ىو أداة للتحقق من صحة العبارات ادلركبة Compound statementsويتضمن لغة تعريفية ومصطلحات للتعبَت عنها
وكتابتها (ظلذجتها) وطرؽ زلاكمة الستنتاج صحتها أو خطأىا .و سندرس ادلنطق االقًتاحي propositional logicوادلنطق
اإلسنادي Predicate logicمنطق الدرجة األوذل.
9
Statement العبارة2.2.1
دبعٌت زلدد (أي ليست مبهمة أو عائمة) ؽلكن أف تكوف صحيحة أو خاطئة والdeclarative sentence ىي مجلة خربية
.ؽلكن أف يتحقق الرأيُت معا
مثال
خصائص العالقات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) A B
ABBA
B A (B A)
(A B) A B
AAA
11
5.2.3.2قواعد احلدية Bound rules
A false false
+
النموذج : Modelالتفسَت الذي غلعل اجلملة ادلنطقية تأخذ القيمة الصحيحة ).(True
اجلملة الصحيحة (: Valid-sentence (or tautologyىي مجلة منطقية قيمتها trueمن أجل مجيع التفاسَت ادلمكنة
للذرات.
اجلملة غَت الصحيحة ) : Inconsistence sentence (or contradictionمجلة تبقى قيمتها falseمن أجل مجيع
التفاسَت ادلمكنة لذراهتا.
وتقوـ آلة االستدالؿ Inference Engineبفرز وترتيب واختيار القواعد واحلقائق ادلناسبة وادلخزنة يف قاعدة ادلعرفة واستنتاج
قواعد جديدة أو االستفسار عن حقائق واستنباط ادلسببات اليت تؤدي إذل حل ادلشكلة.
12
مثال
ليكن لدينا اجلملة الطبيعية التالية :إذا كاف الطقس حار ورطب فسوؼ سبطر "لغة طبيعية "
إلدخاؿ ىكذا مجلة إذل احلاسب لنستدؿ منها إف كانت ستمطر أـ ال حبسب حالة الطقس (حار ورطب أو حار وغَت رطب أو غَت
حار ورطب أو غَت حار وغَت رطب وىذا ما يسمى "فضاء ادلسألة" ) غلب ربويلها إذل لغة ) (PLأي غلب ربويلها إذل مجلة زبضع
لػ Syntaxلغة الػ )( PL
نرمزىا HO
الطقس حار ّ
نرمزىا HU
الطقس رطب ّ
ثانياً :بعد ترميز الفرضيات فإننا نستطيع التعبَت عن القاعدة العامة بشكل منطقي فنقوؿ :
HO HU R
إذاً :استطعنا من خالؿ القواعد اإلمالئية للغتنا اجلديدة التعبَت عن مجلة باللغة الطبيعية – ال يستطيع احلاسب فهمها – جلملة منطقية
أقرب للحاسب .
و 2البطارية مشحونة
13
قاعدة 2
آلة االستدالؿ تبدأ دبسح القاعدتُت حسب ترتيبهما وعندما ال ذبد نتيجة زلددة من القاعدة األوذل فتبدأ يف مسح القاعدة الثانية.
عند مسح القاعدة الثانية سوؼ ذبد أف مقدمات القاعدة الثانية تتطابق مع حقائق قاعدة ادلعرفة ,وعلى ذلك فإف آلة االستدالؿ
سوؼ تقوـ بتطبيق ىذه القاعدة وتضاؼ النتيجة (حقيقة :البطارية مشحونة) إذل احلقائق مث تبدأ آلة االستدالؿ يف عملية ادلسح من
جديد ودلا كانت مقدمات القاعدة األوذل قد أصبحت تتطابق مع احلقائق ادلتوفرة فإف ىذه القاعدة تطبق وتضاؼ نتيجتها إذل احلقائق
أيضا .نظرا لعدـ وجود أية قواعد أخرى ؽلكن تطبيقها فإف عملية االستنتاج ستنتهي عند ىذا احلد.
يف لغة الربولوج ) prolog (programming in logicأو بررلة ادلنطق ,يتم إعطاء احلاسب وصف ادلشكلة باستخداـ عدد
من احلقائق Factsوالقواعد Rulesمث يتم االستفسار Queriesعن احللوؿ احملتملة للمشكلة .تعتمد لغة الربولوج على ادلنطق
وىي مالئمة للحلوؿ احملتوية على كائنات وعالقات حيث ؽلكن من خالذلا سبثيل العالقات بُت األشياء ,ذبميع وتنظيم ىذه العالقات
حىت الوصوؿ إذل استنتاج منطقي.
14
6.2االستتباع Entailment
نرمز لو KB حيث أف ىي النتيجة ادلطلوب برىاهنا من قاعدة ادلعارؼ .KB
أقوؿ أف ( KBقاعدة ادلعرفة) تستتبع اذا وفقط اذا كانت صحيحة حبيث تبقى KBصحيحة من أجل مجيع اجلمل ,أي
بصيغة أخرى أقوؿ أف KBيستتبع اذا بقيت مجبع مجل KBصحيحة عندما تكوف صحيحة.
حيث العادل الذي ػلوي اجلملة اجلديدة باالضافة لقاعدة ادلعرفة حبيث ػلقق :
أي تكوف KBتستتبع اذا وفقط اذا احتوت كل موديالت على موديالت KB
يتم برىاف االستتباع باستخداـ جدوؿ احلقيقة حيث أنو يف مجيع احلاالت اليت تكوف فيها قاعدة ادلعرفة صحيحة KBغلب أف
تكوف صحيحة أيضا.
ذراع رجل أرل تعمل على البطارية ,مهمتها محل رلموعة من األوزاف ادلختلفة ,لكن ىذه الذراع ال تتحرؾ إال إذا كانت البطارية
مشحونة والكتلة قابلة للحمل .ادلطلوب برىاف أنو يكوف الوزف غَت قابل للحمل إذا كانت البطارية مشحونة والذراع ال تتحرؾ.
الحل
لننمذج ادلسألة
القاعدة العامة (مجلة شرطية دوما) للمسألة وىي دوما صحيحة "إذا كانت البطارية مشحونة والوزف قابل للحمل فالذراع تتحرؾ" أي
:
15
اذلدؼ :يكوف الوزف غَت قابل للحمل إذا كانت البطارية مشحونة والذراع ال تتحرؾ (أي معرفة مىت يكوف الوزف غَت قابل للحمل)
أي :
BATOK
MOVES
األف سنربىن بطريقة االستتباع القاعدة العامة اليت يكوف فيها الوزف غَت قابل للحمل أي KB LIFTABLE
نبحث يف جدوؿ احلقيقة السابق عن احلاالت اليت تكوف فيها قاعدة ادلعرفة زلققة أي احلاالت اليت يكوف فيها كل من :
نالحظ ربقق االستتباع من خالؿ احلالة الوحيدة اليت تكوف كل من قاعدة ادلعرفة فيها زلققة و Lزلققة أيضا.
16
ولكن نالحظ أف عدد أسطر جدوؿ احلقيقة ىي 2atomsكحد أدىن (على اعتبار عدـ وجود متحوالت إضافية على الذرات) فمثال
من أجل 11ذرات لدينا 1124سطر ومن أجل أعداد أكرب لدينا عدد أسطر أكرب وىذه مشكلة intractableيعٍت مشكلة
صعبة جدا ,لذلك نلجأ إذل منهجية االستدالؿ وتكافئ االستتباع.
6.1االستدالل Inference
نرمز لو KB ├ i
تعريف :اجلملة ادلنطقية ؽلكن الوصوؿ إليها من خالؿ تطبيق خوارزمية معينة على رلموعة ادلعارؼ يف اؿ KBحيث أف ىذه
اخلوارزمية تعتمد أف احلاسب يستطيع من خالؿ ادلعارؼ ادلوجودة لديو يف كل مرحلة استنتاج معرفة جديدة غَت موجودة مسبقا تضاؼ
إذل معارفو .أي توليد صيغ جديدة من صيغ قدؽلة.
االستدالؿ ىو استنتاج مجلة (صيغة) جديدة غَت موجودة باألصل من رلموعة الصيغ ادلوجودة لدي من خالؿ تطبيق خوارزمية تعتمد
على ادلعارؼ ادلوجودة لدي لتعطينا صيغة منطقية جديدة ذلا Syntaxسلتلف ولكن نفس اؿ .Semantic
17
2.6.2قاعدة Resolution
لدينا الفرضيات التالية "واليت أقبل بصحتها" :
A B = true
B = true
ولدينا xi
عملية االستدالؿ ذلا منهجُت يف احلل وعلا Forward chainingو Backward chaining
مثال
سأنطلق من ادلعارؼ ادلوجودة لدينا لتوليد صيغ جديدة حىت أصل إذل اذلدؼ وىو LIFTABLE
BATOK
18
اآلف لدينا MOVES LIFTABLE :
MOVES
B v L
L
مالحظة :قاعدة Resolutionال تكفي حلل مجيع مسائل ادلنطق من الدرجة ,0وؽلكن برىنة ذلك بإعطاء أي مثاؿ ال تستطيع
ىذه القاعدة أف تربىنو .مثالً :برىن أف A B B
بعكس سابقتها ىنا نبدأ الربىنة من اذلدؼ ,وتعتمد ىذه ادلنهجية على طريقة Resolution Refutationواليت تنص على :
-1ننفي اذلدؼ ) (αونضيفو إذل قاعدة ادلعارؼ ادلوجودة لدينا KBفتصبح :
"وبالتارل عند نفي اذلدؼ وإضافتو لقاعدة ادلعارؼ فإننا نقبل بصحة اجلملة ادلعربة عن نفي اذلدؼ" (نقض الفرض)
-2نربىن باستخداـ طريقة الػ Resolutionعلى New KBأننا سنحصل على تناقض يف ادلعارؼ نسميو .false
-3التناقض :يف مرحلة من مراحل الػ Resolutionسيتم توليد صيغة جديدة ما (وبالتارل القبوؿ بصحتها) وبنفس الوقت سنجد أف
قاعدة ادلعارؼ ربوي نفي ىذه الصيغة وبالتارل أصبحت قاعدة ادلعارؼ ربوي الصيغة ونفيها وىذا خطأ إذاً نكوف قد برىنّا أف نفي
اذلدؼ ىي صيغة خاطئة وبالتارل اذلدؼ حبد ذاتو زلقق.
B v M
B
False
19
20
الفصل الثالث
المنطق من الرتبة األولى
21
الفصل الثالث :المنطق من الرتبة األولى
ثوابت : 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
كل إنساف فاف وأنا أعلم أف سقراط إنساف إذا ھذا يقتضي أف سقراط فاف
ادلطلوب ظلذجة ىذه ادلسألة البسطة.
ببساطة أعرب عن العبارة (كل إنساف فاف) باجلملة :
)∀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ماري ربب لوف واحدة من كرافات جاؾ
القضايا : predicates
لو استبدلت ∃ ب ∀ سوؼ تصبح مجليت :ماري ربب كل ألواف كرافات جوف ,أي شو ماكاف لوف كرافات جوف فهي رببو
جملرد أف الكرافة تعود ملكيتها جلوف.
مالحظة شائعة
∀x ∃yليست تبديلية أي أف ∀x ∃y ≠ ∃y ∀xلنأخذ مثاؿ السبب :
) ∀x ∃y Human(x) → High(x,yتعٍت :كل إنساف لو طوؿ ,ولكن لو أخذناھا بالشكل :
مثال 3
24
مثال 4
You can fool some of the people all of the timeبالعريب :تستطيع خداع بعض الناس كل الوقت
اذا عندي personوعندي timeوعندي عالقة بُت الشخص وبُت الوقت (اخلداع)
لو كانت اجلملة you can fool all of the people some of the time
مثال 5
all packets in room 27 are smaller than any packets in room 28
all packets in room 27 are smaller than some packets in room 28
3.2خوارزمية التوحيد
لنأخذ اجلملة السابقة يلي مرت معنا :
ليكن لدينا p(A) :من البديهي أف نستنتج أف الصندوؽ Aإما أف يكوف يف الغرفة 27أو الغرفة 28يعٍت :
25
)In(A,27)In(B,28
لنفًتض أف لدينا أيضا p(B) :ونعلم أف ) In(B,27و ) smaller(B,Aأي الصندوؽ Bأكرب من الصندوؽ A
يتم الربىاف باستخداـ عملية التوحيد أي إذا كاف لدينا حدين سلتلفُت ظاىريا يكونوا قابلُت للتوحيد إذا جعلناىم متساويُت وذلك
باستبداؿ متحوؿ دبتحوؿ أو متحوؿ بثابت أو متحوؿ بتابع.
مثال
ضلن ندعي أف ھذين احلدين قابلُت للتوحيد إذا استبدلت كل متحوؿ xبالثابت Titiوكل متحوؿ yبالثابت Mimiوكل
متحوؿ zبالثابت : Toto
نالحظ أننا نستطيع اختصار اجلزء األوؿ من احلد األوؿ مع اجلزء األوؿ من احلد الثاين ألفھـ أصبحوا متساويُت فيكوف اجلواب :
)S(Toto) Q(Titi , u , Mimi
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) :
لنرى معا ,نستبدؿ ادلتحوؿ 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
اخلطوة األوذل :نلغي االقتضاء والتكافؤ بنفس الطريقة اليت كنا نتخلص منهما باحملاضرات السابقة
27
اخلطوة الثانية :التخلص من النفي)بتوزيعها على األقواس ( ,ولكن قاعدة صغَتة غلب ذكرھا:
-إذا كاف لدي ) ∃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 ∃z Q(x,z) :إذا بعد استبدالو سيصبح بالشكل:
اخلطوة الرابعة :ال أكب ∀ ألننا نفًتض وجودھا أصال حيث ال ؽلكن أف تكوف ادلتحوالت بالشكل النظامي متممة إال ب∀
اخلطوة السادسة :نعيد تسمية ادلتحوؿ يف أحد اجلملتُت إذا ورد يف مجلتُت سلتلفتُت
28
منحوؿ اجلملة للشكل نظامي ,لتصبح :
طيب خلينا نضيف على قاعدة ادلعرفة نفي اذلدؼ حل تصبح بالشكل:
نبدأ احلل يلي ذلا عالقة بالقصة وھو ) 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) :
كما رأينا لقد وزعنا النفي على اجلملة السابقة مث زبلصنا من ادلتمم باستبداؿ بادلتتم ونفي ما بعدىا وبعد ذلك أعللنا
ادلتمم
سنبدأ إغلاد احل ل بطريقة قاعدة النقض ,ولكن أحب أف أذكر مالحظة وىي أننا إذا حاولنا إغلاد احلل دبنطق عقلنا سنجد أف اإلجابة
الصحيحة شلكن أف تكوف إحدى اإلجابتُت :إما ) 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
)P(Oscar) v Ans(Clyde,Oscar
)Ans(Clyde,Oscar) v G(Oscar
نالحظ أنو دل يتبق لنا خيارات أخرى مع آخر ناتج وصلنا لو فما العمل إذا؟
إذا الحظنا اننا عندما أخذنا مجلة نفي اذلدؼ وىي اجلملة ) ( 6آخذناھا مع اجلملة ) , ( 3ولكن كاف أمامنا خيارا آخر وھو أف
آخذ نفي اذلدؼ اجلملة ) (6مع اجلملة ) , ( 5ولكن الناتج السابق الذي نتج معي قبل قليل لن أھملو وإظلا سأضعو مؤقتا على
جنب وأبدأ احلل بالطريق اآلخر ادلتاح رل:
y/Oscar
x/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?
ال أحد من, كل عضو يف النادي إما أف يكوف متزجل أو متسلق جباؿ أو كليهما, طوين وشي كيو والُت أعضاء يف نادي ىوفرز
. طوين ػلب ادلطر وػلب الثلج,الُت ال ربب األشياء اليت ػلبها طوين, كل ادلتزجلُت ػلبوف الثلج, متسلقي اجلباؿ ػلب ادلطر
ىل يوجد بُت أحد األعضاء من ىو متسلق جباؿ وليس متزجل بنفس الوقت ؟:السؤاؿ
:سننمذج احلقائق اليت لدينا يف ىذه ادلسألة
32
سنكتب اجلمل السبعة بالشكل النظامي مث سنوجد احلل بطريقة قاعدة النقض باحلل :
إذا كما الحظنا لقد استخدمنا اجلمل أكثر من مرة لنصل إذل اجلواب وىذا صحيح سباما إذا أف احلقيقة تبقى دوما حقيقة سواء
استفدنا منها مرة أو أكثر فإننا نستطيع استخدامها دوما.
33
تمارين ومسائل
)P(c1)∨¬P(c2)∨Q(A) ∧ ¬Q(A)∨¬P(c2)∨Q(A
) P(c1)∨¬P(c2)∨Q(A
اخليارات :نعم ,ال ,ال ؽلكن الربىاف ,مجيع اإلجابات خاطئة ,مجيع اإلجابات صحيحة.
34
احلل :
العبارة اليت تقابل اجلملة األوذل (بعض ادلرضى ػلبوف مجيع األطباء) ىي :
العبارة اليت تقابل اجلملة الثانية (مجيع ادلرضى ال ػلبوف الدجالُت) ىي :
أما اذلدؼ (ال يوجد طبيب دجاؿ أو مجيع األطباء ليسوا دجالُت) فهو :
األف ضلوؿ للشكل النظامي :نزيل االقتضاء ونتخلص من باستبدالو بثابت ودبا أنو يوجد andفسنفصل كل حد على حدى
ليصبح لدينا:
P(C1) (1
D(C2) )3
Q(C2) )3
y\C2
L(C1,C2)
x\C1
y\C2
¬P(C1)¬Q(C2)
¬Q(C2)
False
36
الفصل الرابع
الشبكات العصبونية
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واليت بدورىا عبارة عن
رلموعة أخرى من الدواؿ وىكذا هبذه الطريقة ؽلكن سبثيلها كشبكة من ادلتغَتات ترتبط بعضها البعض بأسهم تدؿ على االعتمادية
كما يف الشكل:
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فتمثالف حالة سبرير عكسي وىنا يتم استخداـ إشارة اخلطأ احملسوبة لضبط األوزاف.
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مثال تمهيدي
نريد استقراء القاعدة (أو القواعد) التي تحدد الموافقة أو عدميا عمى منح قرض لزبوف معيف ،انطالقاً مف
مجموعة مف الحاالت السابقة التي مر بيا ىذا لمصرؼ .وىذه الحاالت ىي عبارة عف مجموعة زبائف ذوي
صفات معينة زار كؿ منيـ المصرؼ في وقت سابؽ ،وطمب قرضاً ،فحصؿ بعضيـ عمى القرض ولـ
يحصؿ البعض اآلخر وذلؾ بناء عمى محاكمة أجراىا المصرؼ عمى مجموعة صفات تيمو ،ولتكف ىذه
الصفات في مثالنا :
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التي يتمتع بيا العميؿ وبناءاً عمى ىذه المحاكمة فإف المصرؼ يعطي قرض أو ال
يعطي ،مانريده ىو معرفة القاعدة ( أو القواعد ) التي تحكـ ىذه المحاكمة أي نريد قاعدة ما نسقط عمييا
صفات عميؿ معيف
2.2.5الهدف
كما نالحظ فإف عدد األمثمة المطروحة في الجدوؿ ىي 9أمثمة مختمفة ،ولكف كـ حالة غير موجودة في
الجدوؿ؟ في الحقيقة ىناؾ 7حاالت غير موجودة في الجدوؿ ؛ فكما نالحظ ىناؾ 4صفات تأخذ إحدى
قيمتيف إما trueأو falseفإف عدد التشكيالت الممكنة ىو 61حالة ،فنريد الوصوؿ إلى القاعدة التي
حققت األمثمة التسعة السابقة لكي نعمـ ما ىو خرج الحاالت السبعة الباقية بناءاً عمى القاعدة التي سنتنتجيا
،وبالحقيقة فإف ىذا مثاؿ بسيطة ولكف بالواقع قد يكوف لدينا آالؼ األمثمة التي نريد استخراج القواعد منيا
وآالؼ األمثمة التي لـ نعرفيا بعد والتي قد ترد عمى النظاـ.
أي تحديد مجموعة الواصفات التي تكفي التخاذ قرار بإعطاء القرض (في مثالنا).
49
2.1.4اصطالحات
المثاؿ الموجب :ىو المثاؿ الذي يكوف فيو ok=Trueأي تـ إعطاء قرض .
المثاؿ السالب :ىو المثاؿ الذي يكوف فيو ok=falseأي لـ يتـ إعطاء قرض .
إذا كاف لمقدمة قاعدة -أي مجموعة الذرات ( الواصفات ) التي عمى يسار القاعدة -القيمة True
مف أجؿ مثاؿ معيف مف مجموعة التعمـ ،فإننا نقوؿ بأف القاعدة تغطي المثاؿ.
ىدؼ الخوارزمية ىو البحث عف مجموعة مف القواعد التي تغطي كؿ وفقط األمثمة الموجبة في مجموعة
التعمـ (األمثمة المطرحة) . HISTORY
1.3.5شرح الخوارزمية
نحاوؿ أوالً أف نجد قاعدة واحدة تغطي األمثمة الموجبة فقط (حتى لو كانت ال تغطي جميع األمثمة الموجبة)،
وذلؾ بالبدء بقاعدة تغطي جميع األمثمة )الموجبة والسالبة) ،وطالما أف ىذه القاعدة تغطي مثاؿ سالب واحد
عمى األقؿ نضيؼ إلى مقدمتيا ذرات أخرى بيدؼ تقميص األمثمة السالبة التي تغطييا ،وعندما تصبح
القاعدة ال تغطي أي مثاؿ سالب نكوف قد انتيينا مف بنائيا ونختبر :ىؿ تمت تغطية جميع األمثمة الموجبة؟
50
إذا تمت تغطية جميع األمثمة الموجبة ينتيي عمؿ الخوارزمية واال ندخؿ في بناء قاعدة جديدة بعد حذؼ
جميع األمثمة الموجبة التي تمت تغطيتيا بالقاعدة السابقة .وبما أف قاعدة واحدة قد ال تكفي لتغطية جميع
األمثمة الموجبة ،سنقوـ بالتدريج بإضافة القواعد حتى الوصوؿ إلى مجموعة كاممة مف القواعد التي تغطي
كؿ وفقط األمثمة الموجبة .
أوالً نختار قاعدة عامة لننطمؽ منيا ولتكف True OKوىذا ما قصدنا بو تييئة القاعدة.
القاعػػدة السػػابقة تقبػػؿ أي شػػيء؛ أي أنيػػا تغطػػي جميػػع األمثمػػة السػػالبة الػواردة بالجػػدوؿ لػػذلؾ يجػػب إضػػافة ذرة
إلػػى مقػػدمتيا لنجعميػػا تغطػػي أمثمػػة سػػالبة بشػػكؿ أقػػؿ ،ولكػػف كيػػؼ نفاضػػؿ بػػيف الػػذرات األربعػػة لمعرفػػة أيػػة ذرة
سنضيؼ ؟
يوجد العديد مف المعايير الممكف استخداميا لمقياـ باالختيار .ومف ىذه المعايير البسيطة النسبة سيمة
الحساب التالية :
حيث n+العدد الكمي لألمثمة الموجبة المغطاة مف قبؿ المقدمة (الجديدة) لمقاعدة بعد إضافة aلمقدمتيا (
أي عدد المرات التي تكوف كؿ ذرات المقدمة ( الواصفات بالجزء اليساري لمقاعدة ) قيميا 6و قيمة اليدؼ
6أيضاً.
nالعػدد الكمػي لألمثمػة (الموجبػة والسػالبة) المغطػاة مػف قبػؿ المقدمػة (الجديػدة) لمقاعػدة بعػد إضػافة الػذرة a
لممقدمػػة (.أي عػػدد المػرات التػػي تكػػوف فييػػا كػػؿ ذرة مػػف ذرات المقدمػػة = ) 6بغػػض النظػػر عػػف قيمػػة اليػػدؼ.
ونختار الػذرة ذات النسبة األكبر وفي حاؿ التساوي نختار الذرة التي تغطي أمثمة موجبة أكثر.
51
rRATING= 4/6 = 0.667
نسبة rBAL= 3/4تعني أنو مف أصؿ 4أمثمة كانت BAL=1فييا ،تـ تغطية 3أمثمة موجبة ) OK=1
True ونالحظ أنيا النسبة األكبر لذلؾ نختار الواصفة ( الذرة ) BALونضيفيا إلى مقدمة القاعدة
OKفتصبح:
BAL OK
السؤاؿ الذي نطرحو اآلف :ىؿ ىذه القاعدة التي وصمنا إلييا تغطي مثاالً سالباً واحداً عمى األقؿ؟
BAL =1 بتفحص الجدوؿ نالحظ أف الجواب ىو نعـ إنيا تغطي مثاؿ سالب وىو المثاؿ األوؿ حيث
وكانت Ok=0فيو .إذاً مازلنا بالحمقة الداخمية ونبحث عف ذرة أخرى نضيفيا إلى مقدمة ىذه القاعدة
لنتخمص مف ىذا المثاؿ السالب مع الحفاظ عمى األمثمة الموجبة التي غطيناىا ..نحف أماـ اختيار واحدة مف
ثالث ذرات ) (APP,Rating,INCإذاً نحسب النسبة فنالحظ :
ننظر إلى األسطر التي يكوف فييا كؿ مف 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فتصبح :
والسؤاؿ المطروح في ىذه الحالة :ىؿ ىذه القاعدة التي وصمنا إلييا تغطي مثاالً سالباً واحداً عمى األقؿ (
) OK=0؟
بتفحص الجدوؿ نالحظ أف الجواب ىو ال تذكر أف نسبة مقدمة القاعدة = 6وىذا منطقي إذا حصمنا عمى
قاعدة ال تغطي أي مثاؿ سالب فنخرج مف الحمقة الداخمية ونحذؼ مف الجدوؿ جميع األمثمة الموجبة التي
Rating BAL OK تمت تغطيتيا
ونواجو السؤاؿ التالي :ىؿ تمت تغطية جميع األمثمة الموجبة في الجدوؿ؟
الجواب :ال ألف ىناؾ المثاؿ 6وكانت فيو Rating =1, BAL=0وكانت OK=1إذا ىو مثاؿ موجب
لـ تتـ تغطيتو بالقاعدة التي حصمنا عمييا فندخؿ في الحمقة الداخمية مرة أخرى لنبحث عف قاعدة أخرى
ونييئيا لتصبح مف الشكؿ True OKويصبح الجدوؿ بعد الحذؼ مف الشكؿ :
53
اآلف نختبر النسب فنالحظ:
rAPP = 1/4 = 0.25
وبالتالي نختار Ratingلنضيفيا إلى مقدمة القاعدة True OKفتصبح Rating OK
نعـ تغطي المثاليف السالبيف 5و ،9لذلؾ سنبحث عف attributeأخر مف بيف الواصفات التالية ...
) (App, INC, BALونحسب النسب:
نذكر ىنا :البسط لنسبة مقدمة القاعدة عندما نضيؼ ليا 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
والسؤاؿ :ىؿ ال زاؿ يوجد أي مثاؿ موجب غير مغطى ؟ ال إذاً تمت تغطية جميع األمثمة الموجبة المطروحة
في قاعدة التعمـ مف خالؿ القاعدتيف التاليتيف:
وال ننس أف ىاتيف القاعدتيف تـ استنتاجيما مف األمثمة المطروحة وبالتالي إذا طبقنا أي مثاؿ عمى القاعدة
المناسبة منيما يجب أف يكوف الناتج كما ىو في الجدوؿ ولنجرب ذلؾ فمثالً في القاعدة السابعة ( مواصفات
(Trueوبالتالي باإلسقاط عمى إحدى القاعدتيف المتيف وصمنا إلييما فيكوف الخرج ىو true الزبوف كميا
أيضاً كما كاف بالجدوؿ.
والمثاؿ :1
نالحظ أنو بتطبيؽ القاعدة األولى 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
55
طبعا يكفي أف تتحقؽ قاعدة واحدة مف القواعد التي وصمنا إلييا لنقوؿ أنو يجب إعطاء قرض ألف اؿ OK
(إعطاء القرض) ينتج عف عممية ORبيف ىاتيف القاعدتيف.
5.5تطبيق عملي
لدينا Robotلتوزيع الطرود في بناء (الموضح في الشكؿ):
B1 C1
B C
B2 C2
معمومات مف الشكؿ:
يوجد موزعات في ىذا البناء ) (A , B ,Cفي الشكؿ وباقي األماكف ىي غرؼ ،إذاً البناء مؤلؼ مف عدة
Robotوجد أنو مف اجؿ كؿ زوج أماكف حيث أف ّ المكاف ىو إما غرفة أو موزع .ومف خالؿ تجربة الػ
مف األماكف قد يكوف التنقؿ بينيما سيؿ ،وقد ال يكوف التنقؿ بينيما سيؿ ،وسجؿ ىذه النتائج ( تـ تحصيؿ
قاعدة تعمـ ) .يطمب استنتاج القواعد التي تحدد فيما إذا كاف االنتقاؿ بيف مكانيف ما X,Yىو سيؿ انطالقاً
مف مجموعة التعمـ التي سجميا الػ .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األمثمة الموجبة التي يغطييا ،والباقي ىـ األمثمة السالبة ،لذلؾ نبحث عف ذرة
أخرى:
)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
)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
)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الباقية فاآلف يمكف لمنظاـ أف يستنتج فيما إذا كاف الطريؽ سيؿ بيف أياً مف مسقطييا
مف خالؿ ىذه القواعد.
الفصل السادس
الخوارزميات الجينية
60
الفصل السادس
الخوارزميات الجينية
62
الجينات ضمف الجينوـ بالجينوتايب . genotypeيتحوؿ الجينوتايب في الكائف الحي بعد التطورات التي تمي
مرحمة الوالدة – إلى الفينوتايب phenotypeالذي يمثؿ بدوره خواص فيزيائية مدركة في الكائف الحي مثؿ لوف
العينيف ،الذكاء… الخ.
التكاثر : reproductionحيث اوؿ مرحمة في عممية التكاثر ,ىي مرحمة االتحاد recombination
أو التصالب crossoverبيف الكروموزومات تقوـ الجينات مف الوالديف في ىذه المرحمة بطريقة ما بتشكيؿ
الكروموزوـ الجديد وىنالؾ احتماؿ بعدىا ليذه االجياؿ الجديدة الناتجة mutationبأف تخضع لمطفرة new
.offspring
الطفرة :Mutationوتعني حدوث تغيير بسيط في بعض عناصر الدي اف اي DNAىذه التغيرات
تنتج بشكؿ اساسي مف اخطاء اثناء نسخ الجينات مف االبويف .تقاس صالحية fitnessالكائف الحي بقدرة
الكائف الحي عمى النجاح في حياتو.
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
ويستخدـ عادة في المسائؿ التي تستخدـ بعض القيـ المعقدة كاألعداد الحقيقية.
مالحظة:
مف أجؿ ىذا النوع مف التمثيؿ قد نضطر إلى تطوير مؤثرات تصالب وطفرة خاصة لتناسب عمية التمثيؿ
المستخدمة في ىذه المسائؿ.
مثاؿ عمى مسائؿ تستخدـ ىذا النوع مف الترميز:
إيجاد مجموعة األوزاف لشبكة عصبونية Finding weights for neural network
.4ترميز الشجرة Tree Encoding
يستخدـ ىذا النوع مف الترميز بشكؿ أساسي لمتعابير والبرامج التطورية programs or expressions
evolvingكما يستخدـ لمبرمجة الجينية programming geneticحيث يكوف كؿ كروموزوـ في ترميز
الشجرة بمثابة شجرة مف بعض األغراض objectsمثؿ التوابع أو األوامر في لغات البرمجة
الشكؿ التالي يمثؿ كروموزومات تستخدـ ترميز الشجرة.
65
نعود ونذكر بأف ىذا النوع مف الترميز مفيد في البرامج التطورية evolving programs
لغة البرمجة LISPتستخدـ ىذا النوع مف التمثيؿ وذلؾ ألف البرامج ضمنيا تمثؿ بيذا النموذج ويمكف بسيولة
تحميميا– تحميؿ بنية البرنامج Parsingباستخداـ ىذا النموذج في التمثيؿ وبالتالي يمكف عندىا تطبيؽ المؤثرات
الجينية– كالتصالب والطفرة – بسيولة باستخداـ ىذا النموذج في التمثيؿ.
مثاؿ مسألة إيجاد تابع انطالقا مف عدة نقاط.
إذ تكوف المسألة معطاة بالشكؿ التالي :لدينا مجموعة معطاة مف قيـ الدخؿ وقيـ الخرج الموافقة ليا والمطموب
إيجاد أفضؿ تابع يعطي قيـ خرج لقيـ الدخؿ المعطاة وبحيث تقارب ىذه القيـ– قيـ الخرج – قدر اإلمكاف قيـ
الخرج المعطاة في المسألة.
حيث يكوف الكروموزوـ ىنا بمثابة توابع ممثمة في بنية الشجرة.
ونعود ونأكد بأف طبيعة المسألة ىي التي تحكـ عممية التمثيؿ إذ أف ىنالؾ عالقة وثيقة بيف التمثيؿ المستخدـ
وشروط المسألة المطموب حميا مثاؿ عمى ذلؾ مسألة البائع المتجوؿ TSPحيث مف شروط المسألة :يجب زيارة
مدينة ما مرة واحدة وفقط واحدة وبالتالي فإف أحد التمثيالت المناسبة ىو عبارة عف تبديؿ permutationبيف
سمسمة مف المحارؼ أو األعداد الصحيحة حيث كؿ سمسمة– التي تمثؿ حؿ في النياية – ال يتكرر فييا رمز ما
أكثر مف مرة واحدة.
66
مالحظة :عممية االنتقاؿ لمجيؿ التالي ,تتـ عبر عممية االنتقاء Selection Operatorالتي سنشرحيا بعد
قميؿ.
3.3.6المكوف الثالث يتجمى بالعمميات الجينية Genetic Operators
تنبع أىمية العمميات الجينية مف إيجاد حموؿ لـ تكف موجودة سابقاً في فضاء الحموؿ ومف أىـ العمميات
الجينية:
التصالب crossover or recombination
الطفرة mutation
ويعتمد بشكؿ كبير أداء الخوارزميات الجينية عمى ىذيف المؤثريف وطبعا بالتأكيد فإف أسموب التمثيؿ المستخدـ
لو دوره ايضا .وكبداية سنبدأ بشرح عممية التصالب.
67
11001011+11011111 = 11001111
Chromosome parent A 11001011
Chromosome parent B 11011111
Offspring C 11001111
Offspring D 11011011
68
Offspring D 11001001
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ويمكف تخيميا عمى أنيا تبديؿ العمميات أو األعداد أو ...وذلؾ حسب المسألة
المطروحة .أي باختصار العقد التي يتـ اختيارىا مف الشجرة ،يتـ اجراء التبديؿ عمييا.
ومما اتضح لنا سابقا مف الخطوط العريضة التي تسير وفقيا الخوارزميات الجينية فإف الكروموزومات
(الصبغيات) اآلباء التي تخضع لعممية التصالب يتـ اختارىا – انتقائيا – وفؽ آلية محددة مف التجمع الحالي
تكمف المسألة ىنا في كيفية اختيار ىذه الكروموزومات (الصبغيات) ,فحسب نظرية دارويف في التطور فإف
الكروموزومات (الصبغيات ) األفضؿ يجب أف تنجو ومنيا تنشأ الكروموزومات(الصبغيات ) األبناء .إذف تعود
مسألتنا ىنا إلى مسألة االختيار األمثؿ
.عمميا يوجد عدة طرائؽ لتحديد كيفية انتقاء الكروموزوـ (الصبغي ) األمثؿ.
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
نجد أف الحؿ األمثمي الذي نبحث عنو موجود ضمف التجمع ،ولكنو غير فعاؿ لكونو مبعثر ضمف عدد مف
الحموؿ فنجد أنفسنا ىنا بحاجة آللية التصالب Crossoverبيدؼ دمج ىذه الحموؿ معا والوصوؿ لمحؿ
المطم وب .وبفرض أف الخوارزمية المتبعة ىنا تعتمد بشكؿ أساسي عمى عممية التصالب فقط ،دوف عممية
الطفرة وبعد عدد معيف مف األجياؿ وصمنا لحموؿ مقاربة جدا لمحؿ األمثمي ،سالسؿ مفعمة بالواحد ولكف
لمصدفة فإف أي مف السالسؿ ال يحوي الواحد في الخانة األولى وبالتالي باالعتماد عمى التصالب فقط قد
نصؿ لحؿ قريب جدا مف الحؿ األمثمي.
Chromosome x 1111110
لكننا لف نصؿ بحياتنا لمحؿ األمثمي نيائيا ,وذلؾ الفتقارنا لعممية الطفرة التي قد تغير مجرى العممية كميا إذا
حدث وأف قمبت أوؿ صفر لواحد في أحد الحموؿ ,وعندىا تعود لنا فرصة الحصوؿ عمى الحؿ األمثمي.
وسنستغؿ فرصة ذكر المثاؿ السابؽ بيدؼ توضيح مفيومي الجينوتايب ,والفينوتايب ,نستذكر حديثنا عف ىذيف
المفيوميف مف المقدمة البيولوجية ,حيث إف الجينوتايب يمثؿ الحؿ بشكمو الوراثي ,وبالقياس نجد أف الجينوتايب
في المسألة السابقة يمثؿ السمسمة الثنائية ذات السبع خانات المتتالية مف األصفاروالوحداف ,بينما الفينوتايب
يمثؿ الحؿ بشكمو الفيزيائي ,أي في مسألتنا يمثؿ القيمة العددية الصحيحة لمحؿ الناتج .
الرسـ:
73
.3ال يوجد طرائؽ تحميؿ رياضي معروفة لحؿ المسألة.
.4فشمت طرائؽ البحث التقميدية لحؿ المسألة.
.5التفاعلبينالتطوروالتعلم:
حيثتماستخدامهالدراسيةالتأثيرالمتبادلبينتعلماألفرادوتطوراألنواع .
.6كنماذجلألنظمةاالجتماعية:
تم استخدامها لدراسة جوانب تطور النظم االجتماعية مثل تطور التعاون evolution of
cooperationوتطوراالتصالevolution of communicationوسلوكالقافلةلدىالنمل trail
.following behavior in ants
74
75