برمجة منطقية

البرمجة المنطقية Logic programming هي بمفهومها العام استعمال المنطق الرياضي من اجل برمجة الحاسب. يستعمل المنطق لغة تصريحية للتعبير عن المشكلة. خلاف الكثير من لغات البرمجة التقليدية فإن المبرمج في البرمجة المنطقية لا يقوم بحل المشكلة بشكل كامل وانم يقع على عاتقه مسؤولية جزئية في حل المشكلة وهي بتمثل القضايا والمعارف بصيفة منطقية logical form. ويقع الجزء الآخر لحل المشكلة على ما يدعى مبرهن القضايا theorem-prover أو مولد النماذج model-generator الذي يقوم بحل المشكلة بشكل فعال

علم المنطق

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

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

H :- B1, …, Bn.

بحيث H هو الدالة الهدف و B1...n هي قضايا يجب البحث عن حلها لحل القضية الرئيسية

ويمكن تأويلها بشكل إجرائي على الشكل :

كي تحل\تظهر H اظهر\حل B1 وقم بحل\اظهار B2...... إلى Bn

وبلغة المنطق الرياضي يمكن القول الجملة السابقة تكافئ :

B1 and … and Bn → H

مبرمجي اللغات المنطقية المحترفين يستخدمون تفسيرات اجرائية ليكتبو برامجهم وتفسيرات تصريحية للتأكد من خلو الهدف من اخطاء والوصول للهدف.

انظر أيضاً

الهامش

General introductions

Other sources

  • Fisher Black. A deductive question answering system Harvard University. Thesis. 1964.
  • J.M. Foster and E.W. Elcock. ABSYS 1: An Incremental Compiler for Assertions: an Introduction,، Machine Intelligence 4, Edinburgh U Press, 1969, pp. 423–429
  • Cordell Green. Application of Theorem Proving to Problem Solving IJCAI 1969.
  • Pat Hayes. Computation and Deduction. In Proceedings of the 2nd MFCS Symposium. Czechoslovak Academy of Sciences, 1973, pp. 105–118.
  • Carl Hewitt. Planner: A Language for Proving Theorems in Robots IJCAI 1969.
  • Joshua Hodas and Dale Miller. Logic Programming in a Fragment of Intuitionistic Linear Logic, Information and Computation, 1994, 110(2), 327-365.
  • Naoki Kobayashi and Akinori Yonezawa. Asynchronous communication model based on linear logic, Formal Aspects of Computing, 1994, 279-294.
  • Robert Kowalski and Donald and Kuehner, Linear Resolution with Selection Function Artificial Intelligence, Vol. 2, 1971, pp. 227–60.
  • Robert Kowalski Predicate Logic as a Programming Language Memo 70, Department of Artificial Intelligence, Edinburgh University. 1973. Also in Proceedings IFIP Congress, Stockholm, North Holland Publishing Co., 1974, pp. 569–574.
  • John McCarthy. Programs with common sense Symposium on Mechanization of Thought Processes. National Physical Laboratory. Teddington, England. 1958.
  • D. Miller, G. Nadathur, F. Pfenning, A. Scedrov. Uniform proofs as a foundation for logic programming, Annals of Pure and Applied Logic, vol. 51, pp 125–157, 1991.
  • Ehud Shapiro (Editor). Concurrent Prolog MIT Press. 1987.
  • Ehud Shapiro. The family of concurrent logic programming languages ACM Computing Surveys. September 1989.
  • James Slagle. Experiments with a Deductive Question-Answering Program CACM. December, 1965.
  • Shunichi Uchida and Kazuhiro Fuchi Proceedings of the FGCS Project Evaluation Workshop Institute for New Generation Computer Technology (ICOT). 1992.

للاستزادة

  • Carl Hewitt. Procedural Embedding of Knowledge In Planner IJCAI 1971.
  • Carl Hewitt. The repeated demise of logic programming and why it will be reincarnated What Went Wrong and Why: Lessons from AI Research and Applications. Technical Report SS-06-08. AAAI Press. March 2006.
  • Evgeny Dantsin, Thomas Eiter, Georg Gottlob, Andrei Voronkov: Complexity and expressive power of logic programming. ACM Comput. Surv. 33(3): 374-425 (2001)
  • Ulf Nilsson and Jan Maluszynski, Logic, Programming and Prolog

وصلات خارجية

قالب:Computable knowledge

bn:যুক্তিভিত্তিক প্রোগ্রামিং bs:Logičko programiranje cs:Logické programování de:Logische Programmierung Logic programming]] es:Programación lógica et:Loogiline programmeerimine fa:برنامه‌نویسی منطقی fi:Logiikkapohjainen ohjelmointikieli fr:Programmation logique gl:Programación lóxica he:תכנות לוגי hr:Logičko programiranje io:Logika programeso it:Programmazione logica ja:論理プログラミング ms:Pengaturcaraan logik nl:Logisch programmeren pl:Programowanie logiczne pt:Programação lógica ru:Логическое программирование rue:Лоґічне проґрамованя sq:Programimi logjik sv:Logikprogrammering th:การเขียนโปรแกรมเชิงตรรกะ tr:Mantık programlama uk:Логічне програмування zh:邏輯編程