8 สิงหาคม 2558

Published 8/08/2558 by with 0 comment

เขียนโปรแกรมเชิงตรรกะในภาษาไพทอนด้วย Pyke

สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะพาผู้อ่านไปแนะนำการเขียนโปรแกรมเชิงตรรกะในภาษาไพทอนด้วยโมดูล Pyke กันครับ

การเขียนโปรแกรมเชิงตรรกะ (Logic programming) ผู้อ่านที่เคยศึกษาภาษาคอมพิวเตอร์มาระดับหนึ่ง จะรู้จักภาษาที่มีชื่อเสียงในการเขียนโปรแกรมเชิงตรรกะ คือ ภาษาโปรล็อก (prolog) ซึ่งเกิดมานานมากกว่า 30 ปี และในปัจจุบันยังมีการใช้งานในการศึกษาเรื่องปัญญาประดิษฐ์ (AI) ของมหาวิทยาลัย (รวมทั้งในไทย) และยังมีการใช้งานอยู่เพื่อทำงานวิจัยปัญญาประดิษฐ์ (AI) อย่างบริษัท IBM และอื่น ๆ
โดยการเขียนโปรแกรมเชิงตรรกะมีหลักการคือ ความจริง + กฎ = ผลลัพธ์

ในภาษาไพทอน ได้มีนักพัฒนาได้แรงบันดาลใจจากภาษาโปรล็อก จึงได้มีการพัฒนาโมดูลเพื่อให้สามารถเขียนโปรแกรมเชิงตรรกะในภาษาไพทอนได้ หนึ่งในนั้นคือ โมดูล Pyke

โมดูล Pyke มีความสามารถดังนี้

  • Expert System

  • Automatic Programming: Generates Python Programs

  • Backward Chaining

  • Foreward Chaining

  • Multiple Knowledge Engines and Rule Bases

  • Rule Base Inheritance
    และ ใช้ MIT License รองรับทั้งภาษาไพทอน 2 และภาษาไพทอน 3


สามารถโหลดไฟล์ติดตั้งได้จาก http://sourceforge.net/projects/pyke/files/pyke/1.1.1/

แตกไฟล์ แล้วเปิดคอมมาไลน์ ใช้คำสั่ง cd เข้าไปยังโฟลเลอร์ที่แตกไฟล์ออกมา จนถึงภายในโฟลเลอร์ที่เก็บไฟล์ setup.py ใช้คำสั่งติดตั้ง
python setup.py install

เอกสารการใช้งาน

วิดีโอจากงาน Pycon 2008 https://www.youtube.com/watch?v=GlT0N79Y_LE
ตัวอย่างโครงการทำ AI ด้วย pyke ในภาษาไพทอน https://github.com/bok/AI-with-Pyke

สามารถอ่านเอกสารได้ที่ http://pyke.sourceforge.net
ชุมชนนักพัฒนาโมดูล pyke http://groups.google.com/group/pyke
ประกาศจากทางบล็อก python3.wannaphong.com
หลังจากพรบ.ลิขสิทธิ์ ได้ออกมาเมื่อวันที่ 4 สิงหาคม ที่ผ่านมา ทางผมได้ตัดสินใจที่จะเปลี่ยนสัญญาอนุญาตบทความทั้งหมดในบล็อกนี้ โดยมีผลกับบทความทั้งหมดในบล็อกนี้ นับตั้งแต่วันที่ 8 สิงหาคม พ.ศ.2558 เวลา 08.08 น. นี้เป็นต้นไป เปลี่ยนไปใช้
สัญญาอนุญาตของครีเอทีฟคอมมอนส์ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า 3.0 ประเทศไทย.

โดยสามารถนำบทความทั้งหมดนี้ไปใช้ในการศึกษาได้ แต่ห้ามนำไปใช้ในเชิงการค้าทุกรูปแบบโดยไม่ได้ขออนุญาติ (นับตั้งแต่ผมทำบล็อกมานี้ ผมไม่เคยเจอคนมาคัดลอกบทความของบล็อกผมครับ แต่หลัง ๆ มาเริ่มมีการนำบทความไปดัดแปลงแต่ไม่ได้อ้างอิง และใช้เชิงการค้าด้วย ผมจึงตัดสินใจเปลี่ยนครับ) แต่โค้ดในบทความนี้ยังคงเป็นสาธารณะ ไม่มีสัญญาอนุญาตครับ (ยกเว้น บางโค้ดที่มีการหมายเหตุไว้) และบล็อกนี้จะไม่มีโฆษณาแบบตามเว็บต่าง ๆ ครับ เพราะผมทำบล็อกนี้ไม่แสวงหาผลกําไร แต่ทำบล็อกนี้เพราะผมชื่นชอบในภาษาไพทอนนี้ครับ

วรรณพงษ์ ภัททิยไพบูลย์
ผู้ดูแลบล็อก python3.wannaphong.com

ขอขอบคุณผู้อ่านที่ติดตามบทความของผมมาโดยตลอดครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)