1. برمجة
3

ماهي لغة prolog

  • mohamedyossef
  • 2014-08-19T16:34:05+00:00
  • 2021-05-25T21:34:02+00:00
  • رابط مختصر
يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

  • الأفضل
  • الأحدث
  • الأقدم
8
عبد الرحمن أحمد 2014-08-20T01:57:16+00:00 أضف ردا
  • رابط مختصر

لغة البرولوغ وجدت بالأصل لتحقيق أحد فروع الذكاء الصنعي وهو النظم الخبيرة وأحيانا يسمى الجمل الخبيرة

وما يميز هذه اللغة أنها ذاتية النمو والتطور بمعنى :

تعودنا أن التطبيق العادي هو ملف تنفيذي ثابت والذي يتغير هي ملفات أخرى تحفظ المعلومات والبيانات

أما هذا فهو يغير في الملف التنفيذي نفسه بمعنى البرنامج نفسه قابل للتطور والتعلم وذلك ليتفق ومبدأ اكتساب الخبرة التي ينبني عليها فرع النظم الخبيرة

و تقوم هذه اللغة على أساس تقديم حقائق و من ثم تعريف قواعد التي تمثل علاقات الربط

وبعدها يقوم البرنامج بتقديم كل الحلول المنطقية المحتملة التي تحقق علاقة الربط على مجموعة الحقائق

سأضرب مثالاً للتقريب :

لعلكم تذكرون الأحجية التي انتشرت تحت العنوان الساذج : لغز أينشتاين الذي حير العالم وزعم أن 99% من الناس لم يتمكنوا من حله.

طبعا لست بصدد إنكار أو إثبات أنه لأينشتاين ولكن طريقة التداول التي تثير الاشمئزاز بهدف لفت الانتباه.

رابط اللغز

http://ar.wikipedia.org/wik...

وهي تقدم مجموعة حقائق ومن ثم تعطي بعض العلاقات وتترك جزء من العلاقات ناقص

بعض الناس يستطيعوا حلها منطقيا على الورقة

ولكن ضربته كمثال أنه يصلح كمادة لاستثمار لغة البرولوغ أو النظم الخبيرة للوصول للحل

حيث تقدم الحقائق الموجودة و كذلك العلاقات ومن ثم يستطيع البرنامج إعطاءك كل الاحتمالات الناقصة ومن ضمنها جواب السؤال

لماذا قلنا أنها قابلة للتعلم ، ذلك لأن أي حلول منطقية يتم استنتاجها تستخدم كحقائق جديدة تضاف للأولى وتستخدم في الحلول في المرة التالية ، من هنا اطلق عليها النظم الخبيرة لأنها تكتسب خبرة مع كل عملية استفسار.

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

0
RoXas 2014-08-21T06:00:59+00:00 أضف ردا
  • رابط مختصر

شوقتني لتعلمها

3
عبد الرحمن أحمد 2014-08-21T07:02:16+00:00 أضف ردا
  • رابط مختصر

كمثال تطبيقي على لغة البرولوغ :

هي سهلة لأنها تفريعاتها قليلة جداً مقارنة مع اللغات المتقدمة ولكن تحتاج إلى تركيز لأن منطق التعامل معها مختلف كليا

لأنها ليست بمفهوم البرمجة الحالية مثل OOP أو البرمجة الشرطية والحلقات

يعني يمكن تقريب الأمر بمثال كما تقارن بين لغة برمجة متقدمة وبين لغة الاستفسارات SQL

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

بنفس المفهوم تقريبا هي لغة برولوغ

ولكن هنا ليس جداول وأعمدة وأسطر و بيانات وإنما حقائق وعلاقات وقواعد

سنضرب مثال عملي :


1- أحمد ذكر

2- خالد ذكر

3- فاطمة انثى


4- أحمد ابن خالد

5- فاطمة أم أحمد


6- س ابن ع => ع أب س | ع ذكر

7- س أم ع => س ابن ع

8- س ابن ع ، س ابن ص => ع ص زوجان | ع ذكر ، ص انثى ; ع انثى ، ص ذكر


9- زوجان ؟


10- خالد ، فاطمة


لنشرح المثال :

1 و 2 و 3 حقائق وهي ثلاث عناصر مع خاصية لكل منها

4 و 5 حقائق مع علاقة تربط بين العناصر السابقة

6 و 7 و 8 هي قواعد عامة استنتاجية

9 قمنا بالاستفسار والذي يقول : من هم العناصر التي تتحقق فيهما علاقة الزوجان

10 هو الجواب مع أننا لم نذكر أنهما زوجان صراحة

لأن حسب القاعدة الأولى لدينا أحمد ابن خالد وخالد ذكر إذا خالد أب أحمد

وبحسب القاعدة الثانية لدينا فاطمة أم أحمد إذا أحمد ابن فاطمة

وبحسب القاعدة الثالثة إذا كان لدينا عنصرين أحدهما ذكر والآخر انثى و كان هناك عنصر واحد هو ابن لكل منهما إذا هذين العنصرين هما زوجان

مع أننا ضمن التعريفات لم نذكر أن خالد وفاطمة زوجان وإنما قامت اللغة باستنتاجهما من خلال الحقائق والقواعد الموجودة مقدما.

طبعا هذا مثال بسيط ولكن تخيل لديك آلاف الأشخاص وآلاف العلاقات و من ثم تريد أن تستفسر عن مجموعة تحقق علاقة قرابة معينة

الأمر ينطبق على مبدأ الحصر والاحتمالات المستهدم في صيانة الحاسب أو السيارة أو أي شيء

بمعنى أنه إذا كان لدينا الحالة كذا وكذا فهذا يعني أن العطل محصور في الجزء الفلاني وإذا كانت حالة أخرى فهذا يعني أن العطل أصبح في مكان كذا

0
Hesham77654 2017-11-18T19:20:46+00:00 أضف ردا
  • رابط مختصر

لو سمحتم شباب كيف نجعل procedureفي البرولوغ تقبل اكثر من قاعده

-3
RoXas 2014-08-21T07:35:14+00:00 أضف ردا
  • رابط مختصر

شكرا, هذا مفيد

-3
خليل سليم 2014-08-21T11:06:54+00:00 أضف ردا
  • رابط مختصر

اللغة مملة نوعا ما

تحتاج لتعلم الرياضيات المتقطعة أو المنفصلة قبل أن تخوض بها

2
iali 2014-08-19T16:59:09+00:00 أضف ردا
  • رابط مختصر

معظم اجابات أسألتك

http://rosettacode.org/wiki...

1
عبدالله المهيري 2014-08-19T18:12:32+00:00 أضف ردا
  • رابط مختصر

شكراً على الرابط.

-1
RoXas 2014-08-21T06:00:25+00:00 أضف ردا
  • رابط مختصر

هووو, الكثير من لغات البرمجة!

2
agashe 2014-08-20T12:09:10+00:00 أضف ردا
  • رابط مختصر

مشكلة هذه اللغة هي عدم وجود واجهات مستخدم جيدة لها

و حتى لا يمكن ربطها بلغات اخرى

جميع المفاهيم التي بها يمكن تمثيلها في لغات أخرى باستخدام عبارات الشرط

3
عبد الرحمن أحمد 2014-08-20T17:26:56+00:00 أضف ردا
  • رابط مختصر

هذا مثال يستخدم البرولوغ لإيجاد أقصر طريق

http://blog.elyaski.com/por...ربما لم يتم التركيز على مسألة الواجهات لأن الذي يحتاج هذه اللغة يركز على النتائج التي سيحصل عليها ولا يهمه كثيرا جمالية الإظهار .

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

1
iali 2014-08-20T18:27:37+00:00 أضف ردا
  • رابط مختصر

:)

http://blog.elyaski.com/por...

0
RoXas 2014-08-21T06:12:05+00:00 أضف ردا
  • رابط مختصر

تقصد كتطبيق جافا myApp.jar الّذي يرسل معلومات لـ Thinker.pl الّذي يعالج المعلومات ويرسل النتيجة عبر 'تيار الإخراج القياسي' أو 'تيار الخطأ القياسي'.

0
agashe 2014-08-21T09:51:24+00:00 أضف ردا
  • رابط مختصر

كلام جميل و فيه تصحيح لمعلوماتي مشكور

لكن يبق السؤال : هذه النتائج الا يمكن الحصول عليها في لغات اخرى ؟

1
عبد الرحمن أحمد 2014-08-21T11:21:35+00:00 أضف ردا
  • رابط مختصر

دعني أسألك سؤالا

الحصول على نتائج إحصائية من مجموعة معطيات يمكن أن تحصل عليها من خلال لغة عامة

ولكن أيهما تفضل لذلك استخدام لغة عالية المستوى أو أحد قواعد المعطيات مع لغة SQL ؟

لا شك أن الاختيار المثالي هو الجواب الثاني ومن ثم تسخير النتائج من خلال لغة أخرى

وهذا فحوى التمييز

أي أن لغة البرولوغ موجهة لتكون فاعلة في مجال النظم الخبيرة ومن ثم تسثمر النتائج من خلال لغات أخرى

لو راجعنا المثال :

https://arabia.io/go/12419/...

وبفرض لديك آلاف الحقائق والعلاقات والقواعد

تستطيع بسطر واحد استخلاص مئات الألوف من الاحتمالات

بينما لا أظن أنك تستطيع الحصول عليها بسطر واحد في لغة عادية وربما تحتاج إلى مئات الأسطر من تعليمات الشرط المتداخلة والاختيار المتعدد

لأقرب الصورة

في SQL بثلاثة أو أربع أسطر تستطيع استخلاص نتائج من عدد كبير من جداول المعطيات المربوطة مع بعضها بعلاقات

ولكن هل يمكنك فعل ذلك بلغة أخرى بثلاثة أسطر أم أنك ستحتاج إلى المرور على كل جدول على حدا و تسحب مجموعة نتائج ومن ثم تصفي النتائج بعد عرضها على شروط العلاقات

0
agashe 2014-08-22T09:18:10+00:00 أضف ردا
  • رابط مختصر

كلام سليم لكل لغة استخدامتها

لكن سؤال اخير الذكاء الصناعي الخاص بالالعاب يمكن بناءه بهذه اللغة ام انها موجهة فقط للنظم الخبيرة ؟

-1
dexter2016 2014-08-19T16:42:20+00:00 أضف ردا
  • رابط مختصر

كل ما تريد معرفته موجود هنا

LMGTFY

lmgtfy.com/

LMGTFY

5
عبدالله المهيري 2014-08-19T18:15:22+00:00 أضف ردا
  • رابط مختصر

أليس من الأجدى وضع روابط مباشرة لبعض الصفحات؟

http://ar.wikipedia.org/wik...

مقدمة إلى لغة البرولوك Prolog

www.boosla.com/showArticle.php

مقدمة إلى لغة البرولوك Prolog

مقدمة إلى لغة الذكاء الإصطناعي برولوج 1

ahmedgamal-technical.blogspot.ae/2008/08/blog-pos...

بسم الله الرحمن الرحيم . السلام عليكم ورحمة الله وبركاته . لغة البرمجة Prolog والتي اخترعها الين كولمر ايور هي واحدة من أشهر اللغات المتخص...

هذا لم يأخذ دقيقتين.

3
dexter2016 2014-08-19T18:21:07+00:00 أضف ردا
  • رابط مختصر

انت اعطيته 3 روابط , انا اعطيته 155,000

على العموم كان ردي من النوع أعطني سَمَكة؛ تُطعِمنـي يومــاً .. عَلمنـي الصَيـدَ؛ تُطعِمنـي كُل يـوم

-1
RoXas 2014-08-21T06:30:54+00:00 أضف ردا
  • رابط مختصر

ممتع أن ترى من يكتب شيء عنك.

-3
abdulaziz noor 2014-08-19T17:09:06+00:00 أضف ردا
  • رابط مختصر

لغة يقال انها تستخدم لبرمجة الذكاء الاصطناعي

لكن بامانه مافعلته بهذه اللغة تستطيع فعله باي لغة اخرى

انها لغة غباء اصطناعي !

3
aswedan 2014-08-19T18:50:23+00:00 أضف ردا
  • رابط مختصر

درستها في الجامعة، للأسف الأستاذ المحاضر لا يعلم عنها شيئاً، ونفس الأمثلة جاءت في الامتحانات، ونجحنا بتقدير ممتاز.

لا تسألني عن التحصيل العلمي، فالنتيجة صفر.

أتذكر أن الأستاذ أخبرنا بأنها اللغة التي تحرك خطوط الإنتاج في المصانع، واكتشفت بعد تخرجي أنهم يعتمدون على PLC ولا أدري هل لها علاقة بـProlog أم لا.

2
abdulaziz noor 2014-08-20T09:22:25+00:00 أضف ردا
  • رابط مختصر

انا ايضاً درست المادة وطبقت على اللغة وبامانه كل الذي انجزته بهذه اللغه انجزته بلغات اخرى مثل الجافا ! فلماذا العناء ؟

ودرست ماعلاقتها بالشطرنج ونظم اتخاذ القرار وقواعد المعرفة ولا ازال ارى ماتفعله تستطيع فعله باي لغة اخرى !

ربما يستطيع احد من اللي اعطوني تقييم سلبي التوضيح لي اليس افضل من التقييم السلبي ؟

5
عبد الرحمن أحمد 2014-08-20T09:32:19+00:00 أضف ردا
  • رابط مختصر

لا أخي الأمر مختلف ، لغة البرولوغ لها خاصية قد لا تتوفر في اللغات التالية

وقد وضحت هذه الخاصية في تعليقي :

https://arabia.io/go/12419/...

فالكود الذي تكتبه أنت في لغة عامة يترجم إلى ملف ثابت لا يتغير

أما في لغة البرولوغ فبحسب معلوماتي السابقة عنها أن البرنامج نفسه قابل للنمو والتطور بحيث يبدو وكأنه اكتسب خيرة

0
abdulaziz noor 2014-08-20T12:59:45+00:00 أضف ردا
  • رابط مختصر

اذاً ماتوصلنا اليه انها تطبق قوانين مثل الفازي لوجك وسيكون اسهل باستخدام هذه اللغة واللغات الثانية تستطيع فعل نفس المطلوب ولكنها لم تصنع لهذا الغرض

هذا قصدك اليس كذلك ؟

4
عبد الرحمن أحمد 2014-08-20T13:06:55+00:00 أضف ردا
  • رابط مختصر

"الفازي لوجك" Fuzzy Logic هو فرع آخر للذكاء الصنعي حيث كما هو مطروح هناك أربع أنواع شهيرة للذكاء الصنعي

  • منطق الغموض أو المنطق المشوش Fuzzy Logic

  • النظم الخبيرة

  • الخوارزميات الوراثية

  • الشبكات العصبية الاصطناعية

ولغة برولوغ مناسبة للنظم الخبيرة بشكل أكثر من البقية

أما الشبكات العصبية فتصلح لها أي لغة عالية المستوى

وهي التي حازت على الاهتمام والتطوير أكثر من البقية لمحاولتها محاكاة عمل دماغ الإنسان إلى حد ما.

2
abdulaziz noor 2014-08-20T15:06:01+00:00 أضف ردا
  • رابط مختصر

جزاك الله خيراً ياستاذي عبدالرحمن وياليتك انت الذي درستني المادة !

4
عبد الرحمن أحمد 2014-08-20T15:57:34+00:00 أضف ردا
  • رابط مختصر

أفهم من كلامك أنها شهادة بأن إجابتي أفادتك ツ

لأن هناك من يتهمني بغير ذلك !

https://arabia.io/u/%D8%B9%...

2
dexter2016 2014-08-20T16:27:12+00:00 أضف ردا
  • رابط مختصر

لا تلتفت الي هؤلاء الاطفال

الموقع فقد شيء مهم عندما تركت الموقع اسبوعا بعد رسالة ذلك الاحمق

مع اننا نختلف في أرائنا و لكن لا أريدك او اي احد يخالفني الرأي ان يذهب

فألانسان يتعلم من الناس الذين يخالفهم الرأي اكثر من الذين يوافقونه الرأي

يجب ان نحافظ على تنوع الافكار بالموقع لكي لا يتحول الموقع الى circle jerking

0
عبد الرحمن أحمد 2014-08-20T16:42:51+00:00 أضف ردا
  • رابط مختصر

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

ويبدو لي أن معظم التقييمات السلبية على ردودك تخص هذه الكلمة وأمثالها ، وليس بسبب الرأي

1
dexter2016 2014-08-20T16:57:27+00:00 أضف ردا
  • رابط مختصر

معني كلمة أحمق "* يَأْتِي بِأعْمَالٍ لاَ مَعْنَى لَهَا نَظَرَ بَعْضُ الحُكَمَاءِ" أو "يَتَصَرَّفُ تَصَرُّفَ الغَبِيّ*"

لا اعرف هي شتيمة ؟ ام ان الناس حساسون أكثر من اللازم ؟

هل هناك برأيك كلمة ألطف لأستبدلها بها ؟

3
w00967 2014-08-21T06:36:42+00:00 أضف ردا
  • رابط مختصر

تستطيع أن تصل إليها بدون أن تتلفظها (ابتسامة)

يقال أن خليفة للمسلمين رأى في المنام أن أسنانه تتساقط فسأل المعبرين للرؤى ، فقال الأول: تفسيرها أن جميع أهلك سيموتون ، فقال الخليفة قاتلك الله ، اغرب عن وجهي

فجاء الثاني وقال: هذه بشرى يا أمير المؤمنين

قال الخليفة: هات ما عندك

قال المفسر: سيطول عمرك حتى تكون آخر أهلك موتا

فضحك الخليفة وقال: أعلم أنك لم تخرج عن قول الأول لكنك أحسنت تعبيرا فأمر له بالعطايا

(ابتسامة ثانية)

0
dexter2016 2014-08-21T06:47:58+00:00 أضف ردا
  • رابط مختصر

(ابتسامة)

0
عبد الرحمن أحمد 2014-08-20T17:03:52+00:00 أضف ردا
  • رابط مختصر

حتى لو كان معناها في اللغة لا شيء فيه ولكن مع ذلك يجب مراعاة معناها العرفي أو الاصطلاحي

لأنها في معظم الثقافات الحالية هي إهانة

أرى أن لا تضع نعتاً وانتهى الأمر.

0
dexter2016 2014-08-20T17:21:11+00:00 أضف ردا
  • رابط مختصر

لأنها في معظم الثقافات الحالية هي إهانة

و كذلك تعليقاتهم تعتبر اهانة للقراء

0
dexter2016 2014-08-20T19:13:05+00:00 أضف ردا
  • رابط مختصر

هل يوجد كلمة احمق او اي اهانة في هذا التعليق https://arabia.io/go/12380/... ؟

صدقني انها نوع من تصفية الحسابات , لا علاقة لأي شيء اكتبه

haters gonna hate

0
عبد الرحمن أحمد 2014-08-20T19:15:51+00:00 أضف ردا
  • رابط مختصر

لهذا أنا قلت معظم ولم أقل كل

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

0
w00967 2014-08-21T06:49:45+00:00 أضف ردا
  • رابط مختصر

دخلت على الرابط وقرأت الردود، فوجدت أن الاختلاف وقع اساساً في تعريف الرياضيات

واعتقادي أن مبادئ الرياضيات جزء لا يتجزأ في أي برنامج اقوم به (وجهة نظر)

لكن من الإجحاف أن يقال أنك ردودك في تلك الصفحة فيها اهانة.

ومن الإجحاف ايضاً أن يقال أن الردود عليك في تلك الصفحة ليس فيها اهانة.

1
عبد الرحمن أحمد 2014-08-21T07:09:06+00:00 أضف ردا
  • رابط مختصر

للعلم هذه معلومات من حوالي 17 سنة من أيام الجامعة

ولا شك أنه قد طرأ تغييرات عليها فيما بعد ، تحتاج إلى مواكبة

أنا فقط أعطيت بداية الخيط

1
عبد الرحمن أحمد 2014-08-20T09:29:48+00:00 أضف ردا
  • رابط مختصر

ربما تستخدم في تطبيقات مكائن الإنتاج إن كانت تخضع لمبدأ التعلم الذاتي ،

https://arabia.io/go/12419/...

برمجة

مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.

25.6 ألف متابع

أطلق موقعك الإلكتروني في دقائق

صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.

أنشئ موقعك الآن

اقرأ أيضًا

  • بدي اتعلم لغة بايثون
  • ماهو مستقبل لغة c++
  • استخدام اللغة العربية في برمجة الحاسب الآلي
  • لغة البرمجة الجديدة Mojo
  • ماهي خطوتي التالية بعد تعلم لغة بايثون ؟

انسخ هذا الرابط:

تنبيه