بســـــــم الله الرحـــمن الرحــــــيم
استراتيجيات البحث في الذكاء الاصطناعي
سيتم اظافة اي شرح لاي خوارزمية او طريقة بحث الى هذا الموضوع ان شاء الله منعا للتشتيت ..
==================================
في البدايه لنفرض انه لدينا مشكله معينه ونريد حلها فهذا يتطلب منا فهم واستيعاب لحيثيات هذه المشكله كأن نقول :-
1- تحديد المشكله من خلال تحديد الهدف المنشود من حل هذه المشكله , وماهي الخطوات التي يجب اتباعها للوصول الى الهدف المنشود ..
2- ومن ثم تمثيل المعارف التي نحتاجها لحل هذه المشكله ..
3- ثم اختيار افضل تقنيه او التقنيات المتوفره التي حلت مشاكل شبيه لهذه المشكله ..
لنطرح مثال بسيط ليوضح ما هو المقصود في المقدمه التي في الاعلى :-
سالم اتى لزيارة الاردن لمدة اسبوع ولكن في ثاني يوم من قدومه اتصلت معه الشركه التي يعمل بها فاجبر على قطع اجازته والعوده الى الرياض لذالك قام بالحجز على طائرة الساعه الثالثه صباحا , وقد بقي معه من الوقت القليل قبل موعد السفر , ففكر ان يقوم بجوله سريعه على المراكز التجاريه وبعض المواقع في العاصمه ومن ثم اللحاق بوعد الطائره ,,, طبعا هو يقيم في احد الفنادق في العاصمه عمان .... الان لنطبق المباديء التي اشرنا لها سابقا لحل هذه المشكله ....
اذا سالم يتوق للقيام بعدة نشاطات قبل اللحاق بموعد الطائره وهذا وما يسمى تحديد الخطوات التي يجب اتباعها للوصول الى الهدف المنشود وهو اللحاق بالطائره ..
الان للوصل على الموعد لديه عدة خيارات ( الذهاب الى المطار ) ونقطة انطلاقه تكون من مجمع النقليات ..
1- حافلة الزرقاء/ المطار .
2- حافلة جرش/المطار .
3- حافلة اربد / المطار .
4- حافلة عجلون / المطار .
لن يحقق اي من هذه الحافلات الهدف للوصول الى المطار اذا لم يكن لدى سالم خبره ومعرفه سابقه الاتجاهات وجغرافية المناطق وابعادها عن المطار ... لذالك يتوجب الحصول على معارف اضافيه جغرافيا , ليحدد اقصر وافضل وسيلة نقل تقله الى المطار ليلحق بموعد الطائره .. ومن هذه المعارف الاضافيه مثلا الخريطه التي يوجد بها الاتجاهات والابعاد بين المطار وباقي المناطق , فبهذه الطريقه يستطيع سالم الوصول الى هدفه وهو اللحاق بالطائره في اقرب وقت ..
ولكن بشكل عام اذا كان هنالك مشكله وهدف نريد الوصول له مع مجموعه من الخيارات الغير معلوم قيمها , يتم بفحص هذه الخيارات بشكل تسلسلي واختيار افضل واقصر حل .. ومجوموعة التجارب التي يقوم بها والتي تقود للحل تسمى بحث . حيث ان خوارزمية البحث تاخذ المشكلة كمدخل ويرجع بالحلول بكل خطوه تحدث تسلسليا .. وعند الوصول الى الحل باقصر وافضل طريقه يتخذ هذا الحل ويوصى به على انه افضل واقصر الحلول للوصول الى الهدف ..
اعلم ان هذا النوع من الشروحات قد يكون ممل للبعض وقد يجده البعض بسيط جدا او انه بديهي جدا والمفروض ان الجميع يعلم به , ولكن الهدف من هذا الشرح هو تبسيط الامور لاكبر قدر ممكن حتى نستطيع في ما بعد التعمق اكثر واكثر .... وبنفس المبد أ هذا تطبق فكرة البحث في لعبة الشطرنج مثلا ..
الان لنبدأ يوصف المشكله واجزاءها بشكل عام ..
اولا :- نحدد ما يسمى بفضاء المشكله .
ثانيا :- تحديد نقاط او وحدات او عقد الحل المبدأي .
ثالثا :- تحديدعقدة او نقطة الحل النهائي .
رابعا :- تحديد القواعد والخطوات التي تصف الاجراءات او التنقلات التي يمكن اتخاذها .
لنقوم بتمثيل هذه المشكله باستخدام Graph Theory
هذا المخطط او الرسم ( Graph ) يتكون من مجموعه من النقاط او العقد N والتي يربط بينها اقواس Arc
N1,N2,N3,…….,Ni تمثل العقد في فضاء المخطط او الرسم التمثيلي.
Arc يمثل القوس الذي يربط بين عقدتين مثلا N1, N2 .
العقد ( Node ) = {a, b, c, d, e}-------------- الاقواس ( Arc) = {(a,b), (a,d), (d,a), (b,c), (c,b), (c,d), (d,e), (e,d), (e,c)}
==========================================
هنالك نقاط مهمه يجب توضيحها :-
*يكون الـــــ Graph مباشر او مستقيم الاتجاه عندما تكون هنالك Arc من N1 الى N2 باتجاه واحد ولكن لا يكون هنالك Arc من N2 الى N1 من خلال الرسمه السابقه حاول ان تحدد هذه العقد , فاتجاه السهم يمثل اتجاه القوس .. وطريقة ارتباطه بين العقد ..
* rooted graph بحتوي هذا النوع على عقده مميزجدا تسمى الجذر , كأن يكون هنالك مسار واتصال من هذه العقده وجميع العقد والنقاط الاخرى في هذا الرسم او المخطط .
* اما الشجري فهو مخطط يكون به مسار مميز بين كل زوج من العقد ..
=============================================
اما استرتيجيات البحث فتكون في اتجاهين :-
1) من البيانات وحتى الهدف (data driven search ( وتسمى عملية البحث هذه بــــ
forward chaining
2) من الهدف والعوده للبيانات (goal driven search ) وتسمة عملية البحث هذه بــــ
backward chaining
وكلتا الاستراتيجتان تعملان في نفس المخطط مع اختلاف النظام والترتيب في البحث .
امثلة على انظمه وطرق البحث :- والتي يتم بها تحديد ترتيب العقد في المخطط المراد البحث به ..
Breath-first search
Depth first search
لاحقا ساكمل الشرح ان شاء الله ...
