بسم الله الرحمن الرحيم
يتكون برنامج لغة البرولوك
1-domains يتم تعريف المتغيرات في داخل الوضائف) القواعد) او الحقائق مثل X=string واقصد بالوضائف هي ال function او rule
2-predicates كل الوضائف والحقائق المستخدمة داخل ال clauses يتم تعريفها ماعدا القواعد الجاهزه مثل write()
3-clauses يحتوي على البرنامج المصدري والذي يتكون من حقائق و القواعد اي ال fact و ال rule
بالنسبة clauses يحتوي على الحقائق fact والقواعد rule ان عملية تنفيذ البرنامج هي عملية تنفيذ القواعد اي rules اي احراقها بعمل firing استنتاج حقائق جديده او قواعد جديده من خلال مطابقة اسماء والمتغيرات القواعد واستدعاء قواعد او استدعاء حقائق
ماهي العملية التي تجري داخل ال clauses اقصد كيف يتم التنفيذ عند التنفيذ يتم استدعاء الحقيقه او يتم استدعاء القاعده اي يتم بمطابقة الانماط من خلال مطابقه اسم الحقيقه او اسم القاعده مثل print_len_list(L,C)
حيث هذه الداله اسمها print_len_list تحتوي على متغيريين الاول list والثاني عداد يحسب عدد العناصر داخل القائمه
ملاحضة جدا مهمه
اذا القيم داخل الاقواس متغيره فترجع هذه الداله قيم هذه المتغيرات
اما اذا قيم هذه الداله ثابته فترجع هذه الداله اما true او false
4-goal وينقسم الى قسمين اقسم الاول يسمى internal goal اي الهدف الداخلي يكتب داخل البرنامج المصدري وهذا يعطي دائما حل واحد صحيح اما external goal يعطي اكثر من حل صحيح
بالنسبه للغة ابرولوك تعالج مشاكل الذكية والتي عادتا ليس لها خوارزميه ثابته ومن هذه المشاكل
1- مشكلة البحث search اي ايجاد افضل الطرق من مجموعة طرق
وهذا ايضا ينقسم الى البحث الاعمى والبحث الموجه
A. طريقة بحث تسلق التل (Hill-Climbing Search Method).
B. طريقة بحث الافضل-أولاً (Best-First Search Method).
C. طريقة بحث الافضل-أولاً العامة (General Best-First Search Method).
D. خوارزمية بحث Z* (Z* Algorithm).
E. خوارزمية بحث A* (A* Algorithm).
F. خوارزمية بحث AO (AO Algorithm).
G. خوارزمية بحث AO* (AO* Algorithm)
2-التخطيط planning وهي تقريبا تشبة برمجة الرجل الالي
3- التصنيف classification
4-الاستنتاجات
وغيرها من المشاكل كل هذه المشاكل تبرمج بلغة ابرولوك
طبعا الموضوع مطول بس حبيت اعطي فكره عن برناج برولوك