boubekeur
10-07-2006, 02:12 PM
السلام عليكم
هذه أول مشاركة لي بالقسم و أردت أن أعرفكم على لغة تعتبر من أهم لغات الذكاء الإصطناعي أو IA
مدقدمة عن اللغة
البرولوغ (Prolog) هي لغة برمجة منطقية (logic programming) . الأسم مأخوذ من الفرنسية programmation enlogique (برمجة المنطق)، تم أختراع اللغة بواسطة ألين كولميرايور حوالي العام 1972. كانت محاولة لجعل لغة البرمجة قادرة على أستخدام عبارات منطقية بدل أن تكون تعليمات محددة تلقن الى الحاسوب. صممت اللغة أساساً لتستخدام في عمل برامج معالجة اللغات الطبيعية.
تستخدم لغة البرولوغ في العديد من برامج الذكاء الإصطناعي (artificial intelligence) و برامج معالجة اللغات الطبيعبة. عبارات وقواعد اللغة تعبتر بسيطة جداً وواضحة (يتم كتابة البرنامج بالكامل بأستخدام الحقائق و القواعد). العديد من الباحثين الذين يقودون تطبيقات حديثة للبرلوغ التي جاءت نتيجة أستخدام نسخات مختلفة من البرلوغ كنواة في مشاريع أنظمة حاسوب الجيل الخامس (fifth generation computer systems أختصاراً FGCS).
أساسيات لغة prolog
الحقائق Facts
تختلف طريقة البرمجة في برلوغ عن اللغات التقليدية. في برلوغ يتم كتابة الحقائق (Facts) والقواعد (Rules) في قاعدة بيانات، ثم يتم كتابة أستفسارت queries من قاعدة البيانات. الحقيقة عبارة عن سند (predicate) (الوحدة الأساسية للبرلوغ). يتكون السند من رأس (head) وعدد من الوسائط (arguments). مثال
cat(tom).
في هذا المثال نقول بباسطة أن هناك توم 'tom' وهو قط 'cat'،بتعبير أدق 'cat' هو رأس (head) السند و 'tom' هو وسيطة (argument). هنا عدد من الأستفسارات التي يمكن سؤالها بناء على هذه الخقيقة:
هل توم قط (is tom a cat)؟
?- cat(tom).yes.ببساطة هنا نسأل إذا توم قط ويجيبنا برلوغ بنعم (yes).
ماهي الأشياء التي هي قط (what things are cats)؟
?- cat(X).X = tom;yesالقواعد Rules
أن النوع الثاني من العبارت في برلوغ هي القواعد:
father(X,Y) :- parent(X,Y),male(X).
أنواع المعلومات Data types
لاتحتوي لغة البرلوغ على أنواع معلومات (Data types) تقليدية كلغات البرمجة التقليدية الأخرى. ولكن على عناصر تركيبية (lexical elements) .
الذرات Atoms
يعرف النص الثابت في برلوغ بمعنى الذرات Atoms. الذرة عبارة عن سلسة من الحروف،الأرقام و رمز شرطة-السفلية (_) (underscores) على أن يبدأ النص بحرف أنجليزي صغير (lower-case). عادة، عادة اذا كان هناك رمز ليس بحرف أو رقم فأنه يوضع بين (علامة التنصيص الأحادية) (مثال '+' يعتبر ذرة، في حين + يعتبر معامل)
الأرقام
معظم نسخ البرلوغ لاتميز بين الأعداد الصحيحة و الأعداد الحقيقية.
المتغيرات Variables
يعبر المتغيرات Variables عن نص يتكون من الحروف،الأرقام و رمز شرطة-السفلية (_) على أن يبدأ النص بحرف أنجليزي كبير (upper-case). عللى عكس اللغات القولية (imperative programming languages) في بيئة البرلوغ المتغير ليس مكان في الذاكرة (مستوعب) يمكن تخزين االقيم فيه. تصرف المتغيرات يتبع النمط لأيجاد القيمة.
لتجميل كومبايلر لغة prolog
هذا هو العنوان
papriko.4000webs.com/prolog.exe (http://papriko.4000webs.com/prolog.exe)
درس أولي : تسطيب الكومبايلر وكيفية تنفيذ البرامج
في الحقيقة يوجد عدة كومبالرات وبعدة لغات أجنبية وأنا أخترتلكم أخف واحد و أسهل واحد في التنصيب و مجاني وباللغة الأنجليزية
بعد تنزيل setup للكومبايلر نسطبه عادي
أما البرنامج المعالج فسنجده في مجلد خاص به على قائمة ابدأ وعليه هذه الأيقونة
http://papriko1.googlepages.com/image001.png
الخطوات لكتابه برنامج وتنفيذه
أعلمك أن الحقائق أو المعطيات والقواعد تكتب داخل ملف أولي عادي مثل المفكرة و نحفظها بأي اسم على شرط أن تكون لاحقته( extension ) هي PL
مثل الصورة
http://papriko1.googlepages.com/image003.gif
تنفيذ الملف
لتنفيذه نتبع الخطوات الآتية
1-نذهب الى البرنامج ونفتحه ونختار من الأعلى قائمة file ثم نختار العنصر Consult… مثل الصورة
http://papriko1.googlepages.com/image004.gif
أو يمكننا الضغط مرتين على الملف الأولي مباشرة
وبمجرد ادارج الملف أو فتحه في البرنامج سيقوم بمعالجته فأن لم يجد أخطاء ستظهر مثل ما في الصورة
http://papriko1.googlepages.com/image005.gif
أو مثل الصورة هذه
http://papriko1.googlepages.com/image006.gif
وان وجدت أخطاء برمجية فسيكتب لك سطر الخطأ ورقم عموده
http://papriko1.googlepages.com/image007.gif
هذه أول مشاركة لي بالقسم و أردت أن أعرفكم على لغة تعتبر من أهم لغات الذكاء الإصطناعي أو IA
مدقدمة عن اللغة
البرولوغ (Prolog) هي لغة برمجة منطقية (logic programming) . الأسم مأخوذ من الفرنسية programmation enlogique (برمجة المنطق)، تم أختراع اللغة بواسطة ألين كولميرايور حوالي العام 1972. كانت محاولة لجعل لغة البرمجة قادرة على أستخدام عبارات منطقية بدل أن تكون تعليمات محددة تلقن الى الحاسوب. صممت اللغة أساساً لتستخدام في عمل برامج معالجة اللغات الطبيعية.
تستخدم لغة البرولوغ في العديد من برامج الذكاء الإصطناعي (artificial intelligence) و برامج معالجة اللغات الطبيعبة. عبارات وقواعد اللغة تعبتر بسيطة جداً وواضحة (يتم كتابة البرنامج بالكامل بأستخدام الحقائق و القواعد). العديد من الباحثين الذين يقودون تطبيقات حديثة للبرلوغ التي جاءت نتيجة أستخدام نسخات مختلفة من البرلوغ كنواة في مشاريع أنظمة حاسوب الجيل الخامس (fifth generation computer systems أختصاراً FGCS).
أساسيات لغة prolog
الحقائق Facts
تختلف طريقة البرمجة في برلوغ عن اللغات التقليدية. في برلوغ يتم كتابة الحقائق (Facts) والقواعد (Rules) في قاعدة بيانات، ثم يتم كتابة أستفسارت queries من قاعدة البيانات. الحقيقة عبارة عن سند (predicate) (الوحدة الأساسية للبرلوغ). يتكون السند من رأس (head) وعدد من الوسائط (arguments). مثال
cat(tom).
في هذا المثال نقول بباسطة أن هناك توم 'tom' وهو قط 'cat'،بتعبير أدق 'cat' هو رأس (head) السند و 'tom' هو وسيطة (argument). هنا عدد من الأستفسارات التي يمكن سؤالها بناء على هذه الخقيقة:
هل توم قط (is tom a cat)؟
?- cat(tom).yes.ببساطة هنا نسأل إذا توم قط ويجيبنا برلوغ بنعم (yes).
ماهي الأشياء التي هي قط (what things are cats)؟
?- cat(X).X = tom;yesالقواعد Rules
أن النوع الثاني من العبارت في برلوغ هي القواعد:
father(X,Y) :- parent(X,Y),male(X).
أنواع المعلومات Data types
لاتحتوي لغة البرلوغ على أنواع معلومات (Data types) تقليدية كلغات البرمجة التقليدية الأخرى. ولكن على عناصر تركيبية (lexical elements) .
الذرات Atoms
يعرف النص الثابت في برلوغ بمعنى الذرات Atoms. الذرة عبارة عن سلسة من الحروف،الأرقام و رمز شرطة-السفلية (_) (underscores) على أن يبدأ النص بحرف أنجليزي صغير (lower-case). عادة، عادة اذا كان هناك رمز ليس بحرف أو رقم فأنه يوضع بين (علامة التنصيص الأحادية) (مثال '+' يعتبر ذرة، في حين + يعتبر معامل)
الأرقام
معظم نسخ البرلوغ لاتميز بين الأعداد الصحيحة و الأعداد الحقيقية.
المتغيرات Variables
يعبر المتغيرات Variables عن نص يتكون من الحروف،الأرقام و رمز شرطة-السفلية (_) على أن يبدأ النص بحرف أنجليزي كبير (upper-case). عللى عكس اللغات القولية (imperative programming languages) في بيئة البرلوغ المتغير ليس مكان في الذاكرة (مستوعب) يمكن تخزين االقيم فيه. تصرف المتغيرات يتبع النمط لأيجاد القيمة.
لتجميل كومبايلر لغة prolog
هذا هو العنوان
papriko.4000webs.com/prolog.exe (http://papriko.4000webs.com/prolog.exe)
درس أولي : تسطيب الكومبايلر وكيفية تنفيذ البرامج
في الحقيقة يوجد عدة كومبالرات وبعدة لغات أجنبية وأنا أخترتلكم أخف واحد و أسهل واحد في التنصيب و مجاني وباللغة الأنجليزية
بعد تنزيل setup للكومبايلر نسطبه عادي
أما البرنامج المعالج فسنجده في مجلد خاص به على قائمة ابدأ وعليه هذه الأيقونة
http://papriko1.googlepages.com/image001.png
الخطوات لكتابه برنامج وتنفيذه
أعلمك أن الحقائق أو المعطيات والقواعد تكتب داخل ملف أولي عادي مثل المفكرة و نحفظها بأي اسم على شرط أن تكون لاحقته( extension ) هي PL
مثل الصورة
http://papriko1.googlepages.com/image003.gif
تنفيذ الملف
لتنفيذه نتبع الخطوات الآتية
1-نذهب الى البرنامج ونفتحه ونختار من الأعلى قائمة file ثم نختار العنصر Consult… مثل الصورة
http://papriko1.googlepages.com/image004.gif
أو يمكننا الضغط مرتين على الملف الأولي مباشرة
وبمجرد ادارج الملف أو فتحه في البرنامج سيقوم بمعالجته فأن لم يجد أخطاء ستظهر مثل ما في الصورة
http://papriko1.googlepages.com/image005.gif
أو مثل الصورة هذه
http://papriko1.googlepages.com/image006.gif
وان وجدت أخطاء برمجية فسيكتب لك سطر الخطأ ورقم عموده
http://papriko1.googlepages.com/image007.gif
