الإعــلام الآلي والرياضيــات يشتمل على جميع مبادئ الإعلام الآلي والرياضيــات

قديم 05-12-2008, 09:02 PM
  #1
monarque
VIP_MEMBRE
مشرف سابق
 الصورة الرمزية monarque
 
تاريخ التسجيل: 01-12-2008
الدولة: بلد الله الواسع
المشاركات: 1,237
monarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداع
Flash لغة الذكاء الإصطناعي برولوج Prolog




لغة البرمجة Prolog والتي اخترعها الين كولمر ايور هي واحدة من أشهر اللغات المتخصصة في مجال الذكاء الإصطناعي ، وتعتمد اللغة على أسلوب المنطق في البرمجة ومن كلمة programmation en logique الفرنسية تم اشتقاق الكلمة الجديدة لترمز للغة .
*** المصدر : ويكيبديا .

وتعتبر اللغة Prolog قديمة نسبياً هناك لغات أخرى أصبحت أحدث مثل LISP ، لكن اللغة القديمة التي ظهرت في سبعينيات القرن المنصرم لا تزال تحتفظ بقدراتها حتى هذه اللحظة .

بداية كونك مبرمج تطبيقات عادية ب .net أو Java أو C++ لا يعني انك ستجد نفس ما تعلمته في برولوج ، أنس الأمر فالموضوع مختلف كلياً ، ولكنه سهل وبسيط ، حيث تعتمد برولوج في الأساس على العلاقات المنطقية بين الأشياء ، ويتم في هذه الحالة انشاء ما يعرف باسم ( قاعدة المعلومات Information Base ) وهي مختلفة عما عهدناه في عالم قواعد البيانات DataBase .


أيضاً ال Prolog متغيرة بالكامل ، فلا يمكن تحديد عدد أكوادها حيث أن البرنامج يتعلم أثناء عمل Run له وبالتالي عدد السطور قد يزيد أو ينقص حسب ما تعلمه البرنامج خلال هذه المراحل .


كيف أبدأ ؟



خطوتك الأولى للبداية تحتاج منك إلى استخدام أداة ما لتنفيذ أكوادك ، ستجد الكثير من الأدوات ، ولكني وجدت نسخة مناسبة اسمها Amzi Development Environment أثناء تصفحي في الموسوعة العربية ، لذا تستطيع أن تجد رابطها هنا :
http://www.c4arab.com/images/lessons...2-14_winnt.rar

كل ما عليك هو فتح ملف جديد ، وابدأ بكتابة الأكواد ، بعد الانتهاء قم باختيار Listener ثم Start لبدء التنفيذ .
مجدداً قم بالذهاب إلى Listener ومن ثم اختر Consult ومنه قم باختيار الملف الذي كتبت فيه الأكواد .
الخطوة الاخيرة ، هي البدء باستخدام البرنامج لعمل العلاقات ، سنشرح مثالاً تطبيقياً في الفقرة اللاحقة .



كيف أعمل ؟

كما ذكرنا في أول الدرس فإن Prolog تعتمد على العلاقات المنطقية ، فيمكنني القول مثلاً :

رمز:




Human(Ahmed)
Car(Toyota)
Human(Khaled)


والمعنى باختصار ، أن أحمد و خالد من نوع انسان فيما تويوتا هي من نوع عربة .
جرب كتابة هذه الأسطر ، ومن ثم قم بتشغيل البرنامج كما أوضحنا في الجزء أعلاه (Listener -> Start ثم Listener -> Consult)

ومن ثم ابدأ بكتابة هذه الأسئلة :

رمز:

?- Human(V).

هنا أن تقوم بسؤال البرنامج عن جميع من هم من النوع Human لتضعهم في المتغير V حيث سيقوم بعرضهم لك ، لا تنس أن يكون V حرف كابتيل .
طبعاً سيدأ بعرضهم علي واحداً وراء الآخر ، يمكنني ضغط Enter لو لم أرد عرض المزيد أو ; للاستمرار في العرض .

النوع الثاني من الأسئلة هو الذي تتوقع منه اجابة منطقية ، مثل هذا السؤال :
رمز:

?- Human(Ahmed).

وسيرد عليك (نعم) أما لو ادخلت هذا السؤال :

رمز:

?- Human(Ali).

فهذا البيان لم نقم بادخاله له في قاعدة المعلومات ، لذا ستكون الاجابة بالنفي .

حتى هذه اللحظة فأنا استخدم البيانات التي قمت بكتابتها ، قد يتساءل شخص ما ، إذن ما هي الجدوى من هذا البرنامج ، هذا ما سنتعرف عليه في الجزئين التاليين .


تركيب العلاقات :

في الأجزاء السابقة كانت الأسئلة اجابات على بيانات مباشرة موجودة في قاعدة المعلومات ، ولكن الجزء الأقوى هو الخاص بالعلاقات المتعددة ، فمثلاً لو بدأنا بعلاقة : أحمد أبو محمد

رمز:

father(ahmed,mohammed)


نستطيع تعريف أن أحمد أبو علي أيضاً :
رمز:

father(ahmed,ali)

وهكذا عندما نبدأ بالاستعلام عن أبناء أحمد ، سنضع الجملة التالية في السؤال :

رمز:

?- father(ahmed,U)

فسيعطينا جميع الأبناء للثابت (أحمد) ، لا تنس ان أي حرف كابتيل يعتبر متغير في البرلوج .


القواعد :



هذه هي النقطة التي نريد الوصول إليها وهي تعريف القواعد ، وهي التي ستحقق لنا الفائدة المرجوة في هذه البرمجة حيث أنه في جميع ما سبق كان البرنامج يجيب من البيانات التي أدخلناها ، أما الآن فسيكون قادراً على الإجابة بناء على مجموعة من المعلومات ومجموعة من القواعد ، وهو ما يفعله العقل البشري في حالة التفكير في الاجابة ، ولنبدأ بأبسط الامثلة مثل ( كل السيارات لديها باب ، وكل الطيارات لها باب )

رمز:

car(X) :- gotadoor(X).
cairplane(X) :- gotadoor(X).

ثم عرفنا مجموعة من السيارات والطائرات :

رمز:

car(toyota)
car(mazda)
car(jagoar)
airplane(ai100)

يمكننا لاحقاً سؤال البرنامج عما إذا كان للسيارة mazda باب ، ومع أننا لم نذكر صراحة ان gotadoor(mazda) إلا أن البرنامج استنتج أن ال mazda لها باب نظراً لإنها سيارة ، وكل السيارات لها باب .

مسألة آينشتاين
من منا لا يعرف مسألة أو لغز آينشتاين الذي انتشر كثيراً على المنتديات وجروبات الياهو وفي كل مكان ، وهو اللغز الذي يعتقد آينشتاين أن 98% من البشر لا يمكنهم حله ، هذا هو اللغز :

اقتباس:
1- توجد خمس منازل لكل منها لون مختلف .
2- يسكن كل منزل شخص من جنسية مختلفه .
3- كل ساكن يفضل ان يشرب مشروبا معين , ويدخن سجائر نوع معين منها,ويحتفظ بحيوان أليف معين .
4- لاأحد من الجيران الخمسة يشرب نفس المشروب أو يدخن نفس النوع من السجائر أو لديه نفس الحيوان الأليف .
معلومات الربط :
* يسكن البريطاني في المنزل الأحمر .
* لدى السويدي كلب.
* يحب الدنماركي شرب الشاي .
* البيت الأخضر على الجانب الأيسر من البيت الأبيض.
* مالك البيت الاخضر يشرب القهوة.
* الشخص الذي يشرب سجائر نوع بال مال لديه طائر.
* الرجل الذي يسكن في البيت الأوسط يشرب الحليب.
* مالك المنزل الأصفر يدخن سجائر نوع دانهيل .
* يسكن النرويجي في المنزل الاول .
* يسكن مدخن سجائر نوع مارلبور مجاورا لمن لديه قطه.
* الرجل الذي لديه حصان يسكن مجاورا لمن يدخن سجائر نوع دانهيل
* مدخن سجائر نوع وينفيلد يحب شرب الجعه (شراب الشعير).
* يسكن النرويجي مجاورا للبيت الأزرق .
* يدخن الألماني سجائر نوع روثمانز.
* مدخن سجائر نوع مارلبور لديه جار يحب شرب الماء.
اقتباس:



المطلوب -.:
تحدد اللون / الجنسيه / الحيوان / المشروب / نوع السجائر لكل واحد مع توضيح : من منهم لديه السمكة (أو أن حيوانه الأليف سمكة)؟
لا توجد خدعه في حل هذا اللغز , بل هو منطق صرف من يعرف الإجابة سيكون من ضمن أذكى أذكياء العالم (2% الأذكياء في العالم).


طبعاً كما ترى ، فاللغز عبارة عن مجموعة من البيانات على غرار (يدخن الألماني سجائر نوع روثمانز) ومجموعة من العلاقات على غرار (مدخن سجائر نوع مارلبور لديه جار يحب شرب الماء) ، وعندما تبدأ انت بحل هذه المشكلة ستبدأ في رص البيانات ومن ثم ربط العلاقات بها ، هذا ما يفعله البرلوج تماماً . ستجد نفسك تعطيه بعض المعلومات والقواعد ليقوم هو باستنتاج الحل . وهذا ما سنقوم به الآن .

بداية هذه المسألة بالغة الانجليزية لنستخلص منها بعض المصطلحات :
رموز HTML البرمجية:


The Brit lives in the red house
The Swede keeps dogs as pets.
The Dane drinks tea
The green house is on the left of the white house
The green house's owner drinks coffee
The person who smokes Pall Mall rears birds
The owner of the yellow house smokes Dunhill
The man living in the center house drinks milk
The Norwegian lives in the first house
The man who smokes Blends lives next to the one who keeps cats
The man who keeps horses lives next to the man who smokes Dunhill
The owner who smokes Bluemaster drinks beer
The German smokes Prince
The Norwegian lives next to the blue house
The man who smokes Blend has a neighbour who drinks water




هذا هو نقل لهذا البيانات بشكل برنامج Prolog :

رمز:

next_to(X, Y, List) :- iright(X, Y, List).
next_to(X, Y, List) :- iright(Y, X, List).
iright(L, R, [L | [R | _]]).
iright(L, R, [_ | Rest]) :- iright(L, R, Rest).
einstein(Houses, Fish_Owner) :-
=(Houses, [[house, norwegian, _, _, _, _], _, [house, _, _, _, milk, _], _, _]),
member([house, brit, _, _, _, red], Houses),
member([house, swede, dog, _, _, _], Houses),
member([house, dane, _, _, tea, _], Houses),
iright([house, _, _, _, _, green], [house, _, _, _, _, white], Houses),
member([house, _, _, _, coffee, green], Houses),
member([house, _, bird, pallmall, _, _], Houses),
member([house, _, _, dunhill, _, yellow], Houses),
next_to([house, _, _, dunhill, _, _], [house, _, horse, _, _, _], Houses),
member([house, _, _, _, milk, _], Houses),
next_to([house, _, _, marlboro, _, _], [house, _, cat, _, _, _], Houses),
next_to([house, _, _, marlboro, _, _], [house, _, _, _, water, _], Houses),
member([house, _, _, winfield, beer, _], Houses),
member([house, german, _, rothmans, _, _], Houses),
next_to([house, norwegian, _, _, _, _], [house, _, _, _, _, blue], Houses),
member([house, Fish_Owner, fish, _, _, _], Houses).


بعد ترجمة هذا المشروع ، تستطيع سؤال البرنامج عن اي منهم وسوف يتتبع البيانات المتاحة له + القواعد ليصل بك إلى الناتج ، هذا هو السؤال الأساسي والخاص بمن يمتلك سمكة :
رمز:

?- einstein(Houses, Fish_Owner).



بداية ، دعني استغل ذكائك وحاول القيام بالحل بمفردك ، يمكنك التأكد من حلك باستخدام برولوج ، وفي النهاية لا تنس أن تحاول أن تتوسع في برولوج فقد تستفيد الكثير لاحقاً .

وفي الختام هذا هو الحل يمكنك اظهاره بتحديد الكلمة التالية بالماوس (الألماني) ، إذا لم يكن هذا هو حلك فأنت مرشح للانضمام إلى نادي ال 98% ، وهي نسبة ليست بسيطة كما ترى

والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .


monarque غير متواجد حالياً  
قديم 06-12-2008, 06:50 AM
  #2
khelef
VIP_MEMBRE
 الصورة الرمزية khelef
 
تاريخ التسجيل: 29-05-2008
المشاركات: 1,024
khelef عضو محترف الابداعkhelef عضو محترف الابداعkhelef عضو محترف الابداعkhelef عضو محترف الابداعkhelef عضو محترف الابداعkhelef عضو محترف الابداعkhelef عضو محترف الابداعkhelef عضو محترف الابداعkhelef عضو محترف الابداع
789

شكرا لك على الموضوع المهم والقيم
khelef غير متواجد حالياً  
قديم 06-12-2008, 03:18 PM
  #3
yacine34
 الصورة الرمزية yacine34
 
تاريخ التسجيل: 24-11-2008
الدولة: الجزائر
المشاركات: 19
yacine34 عضو يستحق التميز
افتراضي

شكرا لك على التوضيحو و نتمنى لك مواصلة حسنة
yacine34 غير متواجد حالياً  
قديم 06-12-2008, 03:33 PM
  #4
monarque
VIP_MEMBRE
مشرف سابق
 الصورة الرمزية monarque
 
تاريخ التسجيل: 01-12-2008
الدولة: بلد الله الواسع
المشاركات: 1,237
monarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداع
افتراضي

على الرحب و السعـــــــــــــة وداومنا متواصل ان شاء الله


monarque غير متواجد حالياً  
قديم 11-12-2008, 09:19 PM
  #5
meriem_info
 الصورة الرمزية meriem_info
 
تاريخ التسجيل: 11-12-2008
المشاركات: 155
meriem_info عضو يستحق التميز
افتراضي

merci nono
راك تعجب هاهاها..
meriem_info غير متواجد حالياً  
قديم 12-12-2008, 03:08 PM
  #6
lala_ing
VIP_MEMBRE
 الصورة الرمزية lala_ing
 
La spécialité: Autres
اخرى ( جامعة عربية او اجنبية )
تاريخ التسجيل: 13-07-2008
الدولة: الجزائر
المشاركات: 135
lala_ing عضو يستحق التميز
افتراضي

السلام عليكم ورحمة الله وبركاته
صح عيدكم كل عام وأنتم بخير
شكرا أخي على التوضيح

__________________
lala_ing غير متواجد حالياً  
قديم 13-12-2008, 11:02 AM
  #7
monarque
VIP_MEMBRE
مشرف سابق
 الصورة الرمزية monarque
 
تاريخ التسجيل: 01-12-2008
الدولة: بلد الله الواسع
المشاركات: 1,237
monarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداع
افتراضي

merci meriem merci lala
Aïd said à tout
merci bc
monarque غير متواجد حالياً  
قديم 14-12-2008, 11:37 AM
  #8
Ssoft
مشرف قسم
الشهادات العلمية
مشرف منتدى
الدورات التعليمية المتخصصة
 الصورة الرمزية Ssoft
 
La spécialité: Informatique
اخرى ( جامعة عربية او اجنبية )
تاريخ التسجيل: 24-11-2008
الدولة: السوقر
المشاركات: 1,418
Ssoft عضو محترف الابداعSsoft عضو محترف الابداعSsoft عضو محترف الابداعSsoft عضو محترف الابداعSsoft عضو محترف الابداعSsoft عضو محترف الابداعSsoft عضو محترف الابداعSsoft عضو محترف الابداعSsoft عضو محترف الابداعSsoft عضو محترف الابداعSsoft عضو محترف الابداع
افتراضي

جزاك الله خيرا أخي و لا تحرمنا من جديدك
__________________


▌║││║█║▌│║│█║▌█│║▌▌║│││  
11 0011 10101 10101 1100 11

Ssoft غير متواجد حالياً  
قديم 17-12-2008, 12:06 AM
  #9
نرمين*
مشرفة منتدى
الرياضيات والإعلام الآلي
 الصورة الرمزية نرمين*
 
La spécialité: Autres
اخرى ( جامعة عربية او اجنبية )
تاريخ التسجيل: 08-11-2008
الدولة: الجزائر
المشاركات: 3,993
نرمين* عضو محترف الابداعنرمين* عضو محترف الابداعنرمين* عضو محترف الابداعنرمين* عضو محترف الابداعنرمين* عضو محترف الابداعنرمين* عضو محترف الابداعنرمين* عضو محترف الابداعنرمين* عضو محترف الابداعنرمين* عضو محترف الابداعنرمين* عضو محترف الابداعنرمين* عضو محترف الابداع
افتراضي

شكرا لك جزاك الله الف خير
نرمين* غير متواجد حالياً  
قديم 17-12-2008, 09:35 AM
  #10
monarque
VIP_MEMBRE
مشرف سابق
 الصورة الرمزية monarque
 
تاريخ التسجيل: 01-12-2008
الدولة: بلد الله الواسع
المشاركات: 1,237
monarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداعmonarque عضو محترف الابداع
افتراضي

merci narmin
monarque غير متواجد حالياً  

الكلمات الدلالية (Tags)
الذكاء, الإصطناعي, برولوج, prolog

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
exercices corriges prolog خالد102 منتدى الإعلام الآلي 10 11-12-2015 02:08 PM
programmation logique en prolog نرمين* منتدى الإعلام الآلي 10 23-12-2013 04:56 PM
دورة في برمجة prolog شذى الروح منتــدى البرمجــة العـــام 16 01-11-2012 03:04 PM
Petite présentation de PROLOG monarque الإعــلام الآلي والرياضيــات 0 19-03-2009 07:09 PM
Compilateurs PROLOG سنة 3اعلام الي lmd achraf.mouni الإعــلام الآلي والرياضيــات 13 27-12-2008 01:29 PM


الساعة الآن 06:55 PM.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. , TranZ By Almuhajir