Prolog vs Lisp
Prolog และ Lisp เป็นสองภาษาโปรแกรมคอมพิวเตอร์ AI (ปัญญาประดิษฐ์) ที่ได้รับความนิยมมากที่สุดในปัจจุบัน พวกเขาถูกสร้างขึ้นด้วยกระบวนทัศน์การเขียนโปรแกรมที่แตกต่างกันสองแบบ Prolog เป็นภาษาที่ประกาศในขณะที่ Lisp เป็นภาษาที่ใช้งานได้ ทั้งสองใช้สำหรับปัญหา AI ต่างๆ แต่ Prolog ส่วนใหญ่จะใช้สำหรับปัญหาตรรกะและเหตุผล ในขณะที่ Lisp ใช้สำหรับปัญหาที่ต้องการสร้างต้นแบบอย่างรวดเร็ว
Prolog
Prolog เป็นภาษาโปรแกรม AI มันเป็นของตระกูลภาษาการเขียนโปรแกรมลอจิก คำนำเป็นภาษาประกาศ ซึ่งการคำนวณจะดำเนินการโดยเรียกใช้แบบสอบถามผ่านความสัมพันธ์ (ซึ่งแสดงถึงตรรกะของโปรแกรม) ซึ่งกำหนดเป็นกฎและข้อเท็จจริงprolog พัฒนาขึ้นในปี 1970 เป็นหนึ่งในภาษาการเขียนโปรแกรมเชิงตรรกะที่เก่าแก่ที่สุดและเป็นหนึ่งในภาษาโปรแกรม AI ที่ได้รับความนิยมมากที่สุดในปัจจุบัน (พร้อมกับ Lisp) มันเป็นภาษาฟรี แต่มีตัวแปรเชิงพาณิชย์มากมาย ครั้งแรกถูกใช้สำหรับการประมวลผลภาษาธรรมชาติ แต่ตอนนี้มันถูกใช้สำหรับงานต่างๆ เช่น ระบบผู้เชี่ยวชาญ ระบบตอบรับอัตโนมัติ เกม และระบบควบคุมขั้นสูง Prolog มีข้อมูลประเภทเดียวเท่านั้นที่เรียกว่าคำนี้ เทอมสามารถเป็นอะตอม ตัวเลข ตัวแปร หรือเทอมผสม ตัวเลขสามารถเป็นทศนิยมหรือจำนวนเต็มได้ Prolog รองรับรายการและสตริงเป็นคอลเลกชันของรายการ Prolog กำหนดความสัมพันธ์โดยใช้อนุประโยค ข้อสามารถเป็นได้ทั้งกฎหรือข้อเท็จจริง Prolog อนุญาตให้ทำซ้ำได้อย่างละเอียดในเพรดิเคตแบบเรียกซ้ำ
กระพือ
Lisp เป็นตระกูลภาษาโปรแกรมคอมพิวเตอร์ และภาษาถิ่นที่มีชื่อเสียงที่สุดที่ใช้สำหรับการเขียนโปรแกรมเพื่อวัตถุประสงค์ทั่วไปในปัจจุบันคือ Common Lisp and Scheme ชื่อ LISP มาจาก "การประมวลผล LISt" และตามที่บอกเป็นนัย โครงสร้างข้อมูลหลักของ Lisp คือรายการที่เชื่อมโยงอันที่จริง แหล่งข้อมูลทั้งหมดเขียนโดยใช้รายการ (โดยใช้สัญลักษณ์นำหน้า) หรือรายการในวงเล็บที่ถูกต้องมากขึ้น (เรียกว่า s-expressions) ตัวอย่างเช่น การเรียกใช้ฟังก์ชันเขียนเป็น (f a1 a2 a3) ซึ่งหมายความว่าฟังก์ชัน f ถูกเรียกโดยใช้ a1, a2 และ a3 เป็นอาร์กิวเมนต์อินพุตสำหรับฟังก์ชัน ดังนั้นจึงเรียกว่าภาษาเชิงนิพจน์ ซึ่งข้อมูลและโค้ดทั้งหมดถูกเขียนเป็นนิพจน์ (ไม่มีความแตกต่างระหว่างนิพจน์และคำสั่งในภาษา Lisp) คุณลักษณะที่ดีนี้มีความพิเศษมากสำหรับ Lisp ซึ่งสามารถใช้เพื่อขยายภาษาไปยังปัญหาที่มีอยู่โดยการเขียนมาโครที่เป็นประโยชน์ แม้ว่าโปรแกรมเมอร์จะใช้การเรียกซ้ำส่วนท้ายเพื่อแสดงการวนซ้ำ แต่ภาษา Lisp ที่พบได้บ่อยทั้งหมดจะมีโครงสร้างการควบคุมเช่นลูป นอกจากนี้ Common Lisp และรูปแบบยังมี mapcar และ map ที่เป็นตัวอย่างของฟังก์ชัน ซึ่งให้ฟังก์ชันการวนซ้ำโดยการใช้ฟังก์ชันอย่างต่อเนื่องกับองค์ประกอบทั้งหมด แล้วรวบรวมผลลัพธ์ลงในรายการ
Prolog กับ Lisp ต่างกันอย่างไร
แม้ว่า Prolog และ Lisp จะเป็นสองภาษาการเขียนโปรแกรม AI ที่ได้รับความนิยมมากที่สุด แต่ก็มีความแตกต่างกัน Lisp เป็นภาษาที่ใช้งานได้ในขณะที่ Prolog คือการเขียนโปรแกรมเชิงตรรกะและภาษาที่ประกาศ Lisp มีความยืดหยุ่นสูงเนื่องจากมีการสร้างต้นแบบที่รวดเร็วและคุณลักษณะมาโคร ดังนั้นจึงช่วยให้ขยายภาษาเพื่อให้เหมาะกับปัญหาที่มีอยู่จริง ในส่วนของ AI กราฟิก และอินเทอร์เฟซผู้ใช้ Lisp ถูกใช้อย่างกว้างขวางเนื่องจากความสามารถในการสร้างต้นแบบที่รวดเร็วนี้ อย่างไรก็ตาม เนื่องจากความสามารถในการเขียนโปรแกรมลอจิกในตัว Prolog จึงเหมาะอย่างยิ่งสำหรับปัญหา AI ด้วยการใช้เหตุผลเชิงสัญลักษณ์ ฐานข้อมูล และแอปพลิเคชันการแยกวิเคราะห์ภาษา การเลือกอย่างใดอย่างหนึ่งขึ้นอยู่กับประเภทของปัญหา AI ที่ต้องแก้ไข