الخميس، 12 ديسمبر 2013

المحاضرة الثالثة + الرابعة

تمثيل المعرفه

لنمكن الحاسب من حل مشاكلنا يجب أن نمكنه أولاً من فهمها
المعلومات تبدأ حيث تنتهي البيانات
المعرفه تبدأ حيث تنتهي المعلومات


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

2 . تمثيل المعرفه بالمنطق الرياضي :

بناء قاعدة المعرفه يتم عن طريق تخزين مجموعه من الجمل أو عبارات لغويه مصاغه صياغة سليمة ثم تتم معالجة هذه الجمل بطريقه تجعلها قابله لأن تمثل داخل الحاسب الآلي.
واحده من الطرق المستخدمه لتحويل هذه الجمل إلى صيغ يتم عبرها بناء المعرفه داخل الحاسب الآلي هو استخدام المنطق الرياضي لما يوفره هذا المنطق من إمكانيات تعبر عن منطق هذه الجمله.
لتحويل إلى المنطق الرياضي:
تحذف الكلمات الغير ضرورية من الجمله ثم تحول الجمله إلى علاقات بين العناصر وبعضها.
Ahmed father ali
نبحث عن العلاقة ففي هذا المثال تتمثل العلاقة في أن علي والد أحمد
بالتالي تكتب بصورة:
Father (ALI,AHMED)
Ali likes car
تكتب...
Likes (ALI, CAR)
ملاحظه:
اذا كانت العلاقه لا تربط إلا عنصر واحد مثل
Garden is green
Cat is an animal
تكتب........
Green(GARDEN)
Animal(CAT)

تمرين:
—أكتبي الجمل التاليه بالمنطق الأسنادي؟
Nada eats apples and is not killed by.
ⴺ X apples (X)^eat(Nada,X)^¬kill(X,Nada)
—Everyone at BahaUnivercity are smart
—Ɐ X person (X) ^ at(X,BAHAUNIVERSITY) -> smart (X)
الشبكات الدلالية:
—الشبكة الدلالية هي شبكة تمثل علاقات دلالية بين المفاهيم، وغالباً ما تستخدم كطريقة لتمثيل المعرفة. تعتبر الشبكة مخطط موجهاً أو غير موجه مؤلفاً من عقد، التي تمثل المفاهيم بالإضافة إلى الخطوط



الأربعاء، 11 ديسمبر 2013

المحاضرة الثانيه


Intelligent agents
الوكيل الذكي

—عبارة عن كائن يستطيع ادارك بيئته (environment) التي يكون موجودا قيها وذلك عبر المستشعرات (sensor) التي يمتلكها هذا الكائن ومن ثم التجاوب معها بواسطة اليات التنفيذ (actuator) او الجوارح .
—يمكن ان نعتبر الانسان وكيل , فهو يملك ادوات استشعار (الحواس الخمس) وبها يستطيع ادارك بيئته (percept) كما ان لديه جوارح (الايدي والارجل ) يؤثر يها في بيئته .
—كذك الربورت :
ادوات الاستشعار ß كاميرة تصوير , مقياس درجة الحرارة .
اليات التنفيذ ß الجوارح (الايدي والارجل) .
—يمكن اعتبار اي برنامج كوكيل , لانه يستطيع تحسس وادارك البيئة عن طريق لوحة المفاتيح والفارة وتبدو ردة الفعل واثار عمله واضحة على الشاشة .

مفاهيم
—الادراك (percept) : البيانات التي يتلقاها الوكيل عن طريق المستشعرات (input) .
—ردة الفعل (Action) : الاحداث الصادرة عن الوكيل (output) .
—مالذي يحدد سلوك الوكيل الذكي ؟
دالة الوكيل (Agent function) وقد تكون على شكل جدول او صيغة رياضية .
—مالذي يمثل سلوك الوكيل؟
برنامج الوكيل (Agent program)
مثال : مكنسة التنظيف
Vacuum Cleaning

—هنا مثال مكنسة كهربائية تقوم بتنظيف مربعين (A,B) وتقع داخل احداهما في كل لحظة .
— مالذي تدركه (الاحداث الورادة)؟
1.المربع الذي تقع بداخله (A او B)
2.حالة المربع من ناحية مستوى النظافة : نظيف (clean) او غير نظيف (dirty).
—ماهي ردود الفعل الصادرة (Action)؟
1.الاتجاه يمينا (right)
2.الاتجاه يسارا (left)
3.الشفط (suck)

Agent function
—يمكن استنتاج دالة الوكيل (Agent function) بالشكل التالي :
اذا كان المربع الحالي نظيفا انتقل الى المربع الاخر فيما عدا ذلك قم بالشفط .
ونكتب الجدول التالي :
السوك السليم : مفهوم عقلانية الوكيل
—الوكيل العقلاني (rational agent) او الوكيل المنطقي هو الوكيل الذي يتصرف بشكل صحيح وهذا يعني رياضياً أن كل صف من صفوف جدول الداله Agent function تحتوي علي بيانات صحيحة.
عوامل عقلانية الوكيل :
معيار الأدى: وهو مقياس السلوك السليم للوكيل.
العوامل التي تحدد عقلانية الوكيل:
1) قيمة معيار الاداء (performance measure value) :
يجب ان نلاحظ الوكيل يقدم مجموعة من ردود الفعل بعد استشعاره للبيئة
وهذه الردود تؤثر في البيئة المحيطة ,
ان مقدار تطابق حالة البيئة مع مايتوقعه الوكيل يحدد فعالية اداء الوكيل .
2) معلومات الوكيل السابقة عن البيئة المحيطة (environment)
3) ردود فعل الوكيل وتجاوبه مع تغييرات الحادثة في البيئة او بشكل اخر آليات التنفيذ (actuator)
4) سلسلة احداث الادراك التي تسجلها ادوات الاستشعار (sensor) .
الوكيل العقلاني : هو وكيل تعطي استجابته اكبر قيمة ممكنة لمعيار الاداء اذا اخذ بعين الاعتبار معلوماته السابقة عن البيئة وكذلك معلوماته اللاحقة (القادمة من المستشعرات).
امثلة على تحديد علاقة الوكيل بالبيئة :

خواص البيئة المحيطة :
1. الوضوح / الضبابية (fully observable vs. partially observable ) :
واضحة ß اذا كانت المستشعرات تعطي الوكيل المعلومات التي يطلبها
أي الوكيل يملك تصور واضح عن بيئته مثل(حل الكلمات المتقاطعة)
ضبابية ß اذا كانت المعلومات المتوفرة جزئية (قيادة السيارة).
2. التحديد / الاحتمالية (deterministic vs. stochastic ) :
محددة ß اذا كنا نعرف الحال الذي تؤول اليه البيئة next state انطلاقا من الوضع الراهن current state ومن ردة فعل الوكيل (حل الكلمات المتقاطعة ) .
احتمالية ß اذا لم نكن نعرف الحال الذي تؤول اليه انطلاقا من الوضع الراهن (النرد , قيادة السيارة ) .
ملاحظة : اذا كنا نعرف كل الحالات ماعدا سلوك الوكلاء الاخرين فاننا نقول ان البيئة استراتيجية (strategic) مثل الشطرنج .
3. متتالية / غير متتالية (sequential vs. consequential) :
متتالية ß اذا كانت ردود فعل الوكيل فيها تعتمد على ردود الفعل السابقة (الشطرنج وقيادة السيارة )
غير متتالية ß اذا لم تكن ردود الفعل تعتمد على ردود الفعل السابقة (فحص المعلبات اليا) وهي اسهل لان الوكيل لايحتاج الى التفكير في المستقبل.
4. بيئة ساكنة / ديناميكية (static / dynamic) :
ساكنة ßاذا لم تكن البيئة تتغير اثناء اتخاذ القرار (الشطرنج).
متحركة ß اذا كانت البيئة تتغير اثناء اتخاذ القرار (قيادة السيارات) .
5. الاتصال / التقطع (continues / discrete) :
متقطعة ß اذا كان التغيير من حالة لاخرى يتم في زمن متقطع (الشطرنج )
متصلة ß اذا كان التغير يتم في وقت متصل (قيادة السيارة)
6. بيئة احادية الوكلاء / متعددة الوكلاء (single agents / multi agents) :
احادية الوكيل ß اذا كان هناك وكيل واحد يؤثر في البيئة (برنامج تشخيص طبي).
متعددة الوكلاء ß اذا كان هناك اكثر من وكيل (معظم الالعاب) .
تصنيف الوكلاء حسب برامجهم :
—وكيل يعتمد على ردة فعل بسيطة (Simple reflex agents)
—وكيل يعتمد على نموذج وكيل مع ردة فعل (Model-based reflex agents)
—وكيل ذو هدف معين (Goal-based agents)
—وكيل قائم على التفضيل (Utility-based agents)
وكيل يعتمد على ردة فعل بسيطة (Simple reflex agents)
—ابسط الانواع لانه لايلجا الى حوادث الادراك كاملة وانما الادراك الحالي فقط (ليس له ذاكرة).
المبدا الرئيسي لهذا النوع هو قاعدة (حالة-ردة فعل) condition-action rule فاذا كان الوكيل هو برنامج للتحكم بسيارة فانه سيلاحظ اضاءة المصابيح الخلفية للسيارة التي امامه وهذا يعني انها توقفت بالتالي سيتوقف
—افضل شيء في هذا النوع هو سهولته ولكن هذه السهولة هو ثمن لمحدودية قدراته , اذ انه لايكون مجديا الا اذا كان القرار المتخذ يعتمد بشكل كامل على حدث الادراك الحالي فقط, او اذا كانت بيئة العمل واضحة وضوحا تاما اذ ان قليلا من الضبابية يتسبب في مشاكل حقيقة .

وكيل يعتمد على نموذج وكيل
(Model-based reflex agents)
—احد اكثر الانواع فعالية في البيئة الضبابية وذلك لان الوكيل يمتلك تصورا عن حالة بيئته (internal state) ويتم تحديث هذا التصور باستمرار على مرحلتين :
1. تحديث المعلومات عن التغييرات التي تحدث في البيئة بدون تدخل من الوكيل نفسه (اي التغييرات التي لاتعتمد على ردة فعل الوكيل)
مثال : اقتراب السيارات الاخرى من سيارة الوكيل نتيجة لزيادة سرعتها او غروب الشمس .
2. تحديث المعلومات عن التاثيرات الي تحدث في البيئة نتيجة ردود افعال الوكيل
مثال : وقوع الوكيل على شمال المنطقة التي كان فيها لانه انطلق الى الشمال.
—وبعد تحديث المعلومات عن العالم الوسيط بواسطة المستشعرات وتفاعل هذه المعلومات مع المعلومات السابقة يكون الوكيل تصورا جديدا عن العالم المحيط , وبموجب هذا التصور الجديد يحدد الوكيل ردة الفعل المناسبة .

وكيل ذو هدف معين
(Goal-based agents)

—معرفة الحالة الراهنة للوسط ليس كافيا لتقرير مايجب فعله .
—تقرير مايجب فعله يعتمد على الهدف .
—بالاضافة الى معلوماته عن البيئة الراهنة فانه لديه معلومات عن الهدف المراد الوصول اليه .
—اقل فعالية ولكنة اكثر مرونة .

وكيل قائم على التفضيل
(Utility-based agents)

—يستخدم عن وجود اكثر من طريقة للوصل الى الهدف ويفاضل بين الطرق المختلفة وايجاد الطريق الاكثر فائدة (الاقصر , الامثل) .


الثلاثاء، 10 ديسمبر 2013

المحاضرة الأولى


ماهو علم الذكاء الاصطناعي ؟
هو ذلك العلم الخاص بمحاكاة الذكاء البشري
ذكاء الانسان
القدرة على فهم الاشياء وتعلمها
الحس و الاستنتاج , الاستنباط , التحليل , الادراك
مايؤديه الانسان افضل من الحاسب
—القدرة على التعلم واكتساب المعلومات بسرعة
—القدرة على اتخاذ القرارات الصحيحة بناء على الادراك الحسي والعقلي لجوانب المشكلة
—القدرة على اكتشاف الاخطاء وتصحيحها
—نقل التجربة والخبرة الذاتية الى مواقف جديدة
—التميز بين انواع المعرفة المختلفة
—القدرات والمهارات بالفطرة ( حسية ابداع ملاحظة )

مايؤديه الحاسب افضل من الانسان:
—القيام بالعديد من العمليات الحاسبية المعقدة في ثوان مقارنة بالانسان
—تنفيذ المهام دون كلل او ملل خاصة الاعمال التكرارية
—تخزين واسترجاع كم هائل من المعلومات بسرعة تامة وكفاءة عالية
—توفر النفقات الخاصة بالعمل في حالة استخدام الحاسب بدلا من الانسان
تاريخ الذكاء الاصطناعي :
—اختراع الة تيورنج والتي لها القدرة على تخزين برامج الحاسب هي بداية ظهور هذا العلم .
—ولكن البداية الحقيقة له عندما تمكن جون ماكارثي من اختراع لغة الليسب LISP وهي اول لغة برمجة خاصة بالذكاء الاصطناعي .
—شهد عام 1960 امكانية كتابة لعبة الشطرنج بواسطة العالم جوزيف.
—في نهاية السبعينيات ظهرت بعض العلوم المتعلقة به مثل النظم الخبيرة , معالجة اللغات الطبيعية .
—في السبعينات ظهرت لغة البرولوج وهي لغة خاصة بالذكاء الاصطناعي.
أعتمد العلماء اربعة مداخل لتعريف الذكاء الاصطناعي هي:
—التفكير كالانسان Think like humans
—الفعل كالانسان Act like humans
—التفكير العقلانيThink rationally
—الفعل العقلاني Act rationally
Intelligent Agents
العميل الذكي

هوعبارة عن أي شيئ يمكن أن يظهر نوع من الفهم والإدراك في بيئته Environment ويعمل ضمن بيئة محدوده أو مفتوحه .



متى نطلق على الالة بانها ذكية ؟
—باستخدام Turing test
ابتدع تورنج اختبارا للتاكد من ذكاء الالة، عن طريق وضع الالة في حجرة مغلقة و انسانا اخر في حجرة مغلقة اخرى متصلان بنهايات طرفية بغرفة الحكم ، و هوالذي يتولى الاتصال بالالة و الانسان الاول و يتولى الحكم ادارة حوار مع كل من الالة و الانسان , والهدف من الاختبار تحديد من هو الرجل ومن هو الالة عن طريق طرح الاسئلة فاذا لم يستطع التفريق بينهما نحكم على الالة بانها ذكية .
تطبيقات الذكاء الاصطناعي
1- النظم الخبيرة (Expert System"ES")
النظم الخبيرة (Expert System) هو مجرد نظام (Computer system) يصمم خصيصا للقيام بأعمال الخبراء (Experts) في مجال معين أي من الممكن استشارته عند القيام بعمل معين في المجال الذي ينتمي اليه .
من مميزات هذه النظم :
—أنها سهلة الإستخدام لأي مستخدم سواء مستخدم عادي أو مطوّر .
—أنها نافعة في مجال التطبيق بشكل واضح .
—قادرة على التعلم من الخبراء بطريقة مباشرة وغير مباشرة .
—قادرة على تعليم غير المتخصصين .
—قادرة على تفسير أي حلول تتوصل إليها مع توضيح طريقة الوصول إليها .
—قادرة على الإستجابة للأسئلة البسيطة وكذلك المعقدة في حدود التطبيق .
—قادرة على تطوير آداء المتخصصين ذوي الخبرة البسيطة.


2. معالجة اللغات الحية (Natural Language Processing) :
أن وسيلة اتصال الإنسان بالحاسب تتمثل في مجموعة في مجموعة من التعليمات والأوامر المحددة أو لغات البرمجة ومثل هذه الوسائل لا تحقق المرونة الكافية في الاتصال بالحاسب والهدف الأساسي من مجموعة اللغات الحية (Natural Language Processing ) هو يجعل الاتصال بين الحاسب الآلي والإنسان يتم بصورة طبيعية أي باستخدام لغة الإنسان مثل العربية أو الانجليزية .
وينقسم هذا المجال إلى جزئيين رئيسين :
أ – فهم اللغات الحية (Natural Language Understanding):
ويبحث هذا المجال في إيجاد طرق تسمح للحاسب بفهم التعليمات المعطاة أليه بصورة طبيعية .أي يستطيع فهم لغة الإنسان بسهولة.
ب- إنتاج اللغات الحية (Natural Language Generation ):
ويبحث هذا المجال في إيجاد الطرق التي تجعل الحاسب قادرا على إنتاج لغة حيه أي يمكنه إنتاج جمل بالعربية أو الانجليزية أو أي لغة حيه أخرى .
3. التعرف على الكلام(Speech Recognition ):
أما في مجال التعرف على الكلام( Speech Recognition ) فهو جعل الحاسب أكثر تفاعلا مع المستخدم حيث أنه يبحث في الطرق التي تجعل الحاسب قادرا على التعرف على حديث الإنسان.

4- الرؤية بالحاسب ( Computer Vision)
تمثل الرؤية بالنسبة للإنسان الوسيلة الأساسية التي تجعله يشعر بالوسط المحيط به . كذلك فإن الهدف من مجال الرؤية بالحاسب
( Computer Vision) هو جعل الحاسب قادرا على رؤية الوسط المحيط به والتعرف عليه.
وحاليا يوجد تطبيق لتلك الأبحاث والذي يستخدم الرؤية بالحاسب مثل الإنسان الآلي وهو ببساطة عبارة عن كاميرا تلفزيونية وذراع آلية يمكنها التعرف على الأجسام ونقلها من مكان لأخر

5. البرمجة الآلية : (Automatic Programming):
الهدف من البرمجة الآلية فهو أنتاج البرامج الذكية والتي تستخدم كأداة جيدة في مساعدة المبرمجين في تسهيل إنتاج برامجهم ويوجد هدف أسمى للبرمجة وهو إنتاج البرنامج الذكي الذي يستطيع أن ينتج برنامجا بنفسه , أي إعطاؤه تفاصيل المشكلة ليقوم هو بتصميم وإنتاج البرنامج .

6. الإنسان الآلي ( Robot):
إن تكنولوجيا الإنسان الآلي ( Robotics) هي من أكثر تكنولوجيا الذكاء الاصطناعي تقدما من حيث التطبيقات التي تقدم فيها حلولا كاملة للمشاكل
الربورت ( Robot): أو الإنسان الآلي عبارة عن آله ميكانيكية يمكن برمجتها لتؤدى بعض المهام التي يقوم بها الإنسان يدويا بنفس ذكاء الانسان .

خصائص برامج الذكاء الاصطناعي:
(1) التمثيل الرمزي
symbolic representation :

تتعامل مع رموز تعبر عن المعلومات المتوفرة مثل :
الجو اليوم حار , السيارة خالية من الوقود .
هو تمثيل يقترب من شكل تمثيل الانسان لمعلوماته في حياته اليومية .
(2) البحث التجريبي :
Searching

—تتوجه برامج الذكاء الاصطناعي نحو مشاكل لا تتوافر لها حلول يمكن ايجادها تبعا لخطوات منطقية محددة . إذ يتبع فيها أسلوب البحث التجريبي كما هو حال الطبيب الذي يقوم بتشخيص المرض للمريض ، فأمام هذا الطبيب عدد من الاحتمالات قبل التوصل إلى التشخيص الدقيق ، و لن يتمكن بمجرد رؤيته للمريض و سماع آهاته من الوصول إلى الحل ، و ينطبق الحال على لاعب الشطرنج ، فان حساب الخطوة التالية يتم بعد بث احتمالات و افتراضات متعددة ، و هذا الأسلوب من البحث التجريبي يحتاج إلى ضرورة توافر سعة تخزين كبيرة في الحاسب ، كما تعتبر سرعة الحاسب من العوامل الهامة لفرض الاحتمالات الكثيرة و دراستها .
( 3) احتضان المعرفة و تمثيلها
knowledge representation KR :

—لنمكّن الحاسب من حل مشاكلنا، يجب أن نمكّنه من فهمها أولاً
—لما كان من الخصائص الهامة في برامج الذكاء الاصطناعي استخدام أسلوب التمثيل الرمزي في التعبير عن المعلومات ، و اتباع طرق البحث التجريبي في إيجاد الحلول فان برامج الذكاء الاصطناعي يجب أن تمتلك في بنائها قاعدة كبيرة من المعرفة تحتوي على الربط بين الحالات والنتائج مثل ذلك :
—و مثال ذلك :
* إذا كان الجو غير صحو .
* و درجة الحرارة منخفضة .
* فيجب ارتداء المعطف .
—و في هذه الأمثلة يتضح التمثيل الرمزي (الجو غير صحو )، واحتضان المعرفة بمعرفة وجوب ارتداء العطف
4) البيانات غير المؤكدة أو غير المكتملة :
uncertain or uncompleted data

—يجب على البرامج التي تصمم في مجال الذكاء الاصطناعي أن تتمكن من إعطاء حلول إذا كانت البيانات غير مؤكدة أو مكتملة ، و ليس معنى ذلك أن تقوم بإعطاء حلول مهما كانت الحلول خاطئة أم صحيحة ، و إنما يجب لكي تقوم بأدائها الجيد أن تكون قادرة على إعطاء الحلول المقبولة و إلا تصبح قاصرة ، ففي البرامج الطبية إذا ما عرضت حالة من الحالات دون الحصول على نتائج التحليلات الطبية فيجب أن يحتوي البرنامج على القدرة على إعطاء الحلول .
(5) القدرة على التعلم :
ability to learn

—تعتبر القدرة على التعلم إحدى مميزات السلوك الذكي و سواء أكان التعلم في البشر يتم عن طريق الملاحظة أو الاستفادة من أخطاء الماضي فان برامج الذكاء الاصطناعي يجب أن تعتمد على استراتيجيات لتعلم الآلة .
لغات الذكاء الاصطناعي AI Languages
—في مجال الذكاء الاصطناعي اشتهرت لغتان هما:
—1-لغة lisp : وهي اختصار لــ list of processing وتعني معالجة القوائم والتي تم تصميمها عام 1984 في الولايات المتحدة وكان الغرض منها تحقيق الأغراض البرمجية للذكاء الاصطناعي.
—2- لغة prolog :
•وهي اختصار لــ programming in logic وتعني البرمجة بالمنطق والتي تم تصميمها عام 1970 بجامعة مرسيليا بفرنسا بغرض برمجة المسائل المنطقية قبل ظهور علم الذكاء الاصطناعي .
• تعتمد برولوج في الأساس على العلاقات المنطقية بين الأشياء ، ويتم في هذه الحالة انشاء ما يعرف باسم ( قاعدة المعرفةKnowledge Base )
مميزات وخصائص لغات الذكاء الاصطناعي:
تمتاز لغات الذكاء الاصطناعي بخصائص تناسب طبيعة أنظمة الذكاء الاصطناعي والخصائص هي :
أ-قابلية تمثيل المعرفة Knowledge Representation:
ويقصد بها استخدام قواعد خاصة لوصف المعرفة (حقائق Facts,علاقات Relations, قواعد Rules).
وهي التي تشكل قاعدة المعرفة Knowledge Base.
ب- معالجة الرموز والأشكال Symbolic Processing:
تمتاز لغات الذكاء الاصطناعي بإمكانية معالجة الرموز والأشكال.
ج- مرونة في التحكم Flexibility of Control:
اللغات التقليدية مثل Pascal وC تقوم بمعالجة المشكلة من خلال تتبع تسلسلي لتعليمات البرنامج فهي دائما ما تكون عاجزة عن علاج مشاكل الذكاء الاصطناعي لذلك أتت لغات الذكاء الاصطناعي بإمكانية تحكم أكثر و مرونة.
وبشكل عام:
تعتبر لغات الذكاء الاصطناعي أكثر كفاءة من اللغات التقليدية ونعني بالكفاءة زمن تنفيذ البرنامج وتقليل حجم التخزين في الذاكرة ولكن نحتاج الى مجهود من قبل المبرمج في تحديد كل الحقائق وربطها يبعضها البعض وتوجيهها لاستخلاص النتائج والأهداف المطلوبة.