เหตุใดการรวมกันจึงสำคัญต่อเครื่องมือการอนุมาน


17

ฉันเรียนรู้โดยอัตโนมัติพิสูจน์ทฤษฎีบท / แก้ SMT / ผู้ช่วยพิสูจน์ด้วยตัวเองและโพสต์ชุดของคำถามเกี่ยวกับขั้นตอนเริ่มต้นที่นี่

ฉันให้อ่านเกี่ยวกับความสามัคคีอัลกอริทึม

  • มันคืออะไรและทำไมจึงเป็นสิ่งสำคัญที่จะเครื่องยนต์อนุมาน ?
  • เหตุใดวิทยาศาสตร์คอมพิวเตอร์จึงมีความสำคัญ?

คำตอบ:


11

การรวมกันเป็นแนวคิดพื้นฐานในวิทยาการคอมพิวเตอร์ที่บางทีในเวลาที่เราถึงกับยอมรับ เมื่อใดก็ตามที่เรามีกฎหรือสมการหรือรูปแบบและต้องการนำไปใช้กับข้อมูลบางส่วนจะใช้การรวมกันเพื่อให้เชี่ยวชาญกฎกับข้อมูล หรือถ้าเราต้องการรวมกฎทั่วไปสองข้อ แต่ทับซ้อนกันการรวมกันทำให้เรามีกฎรวมทั่วไปมากที่สุด การรวมกันเป็นหัวใจสำคัญของ

  • ผู้พิสูจน์ทฤษฎีบทและผู้ช่วยพิสูจน์รวมถึงบางคนโดยพิจารณาจากการรวมลำดับที่สูงขึ้น
  • การใช้งานภาษาโปรล็อก (ตามความละเอียด)
  • อัลกอริธึมการอนุมานประเภท
  • ภาษาศาสตร์เชิงคำนวณ / การประมวลผลภาษาธรรมชาติ
  • ระบบการเขียนซ้ำคำเช่น Maude ซึ่งสามารถใช้เป็นพื้นฐานของความหมายภาษาการเขียนโปรแกรม
  • ฐานข้อมูลที่ต้องรับผิดชอบ
  • ระบบผู้เชี่ยวชาญหรือมากกว่าปัญญาประดิษฐ์ทั่วไป
  • ระบบพีชคณิตคอมพิวเตอร์
  • การจับคู่รูปแบบในภาษาที่ใช้งานได้ (อย่างน้อยก็ในบางส่วน ... จับคู่เท่านั้น)
  • วิธีการแยกวิเคราะห์บางอย่าง
  • บางภาษาสืบค้นโดยเฉพาะที่เกี่ยวข้องกับเว็บแบบ Semantic

8

ผู้ช่วยพิสูจน์เช่น Isabelle / HOL ทำงานในระดับ syntax เกี่ยวกับแคลคูลัสเชิงตรรกะ ลองนึกภาพคุณมีกฎ modon ponens (MP)

PQ,P  Q

และเป้าหมายการพิสูจน์

(a)(d),a !d

มนุษย์เราเห็นทันทีว่าสิ่งนี้ตามมาด้วยวิธีการ ponens แต่เครื่องจะต้องจับคู่เป้าหมายในการควบคุมsyntactically (ไม่ว่าคุณจะทำapply rule mpหรือapply simp) และนี่คือสิ่งที่การรวมเข้าด้วยกัน อัลกอริทึมค้นหาด้วยและ , ยกตัวอย่างของกฎและใช้มันφ ( P ) = φ ( Q ) = dφφ(P)=aφ(Q)=d

สิ่งที่ดีเกี่ยวกับวิธีการของผู้ช่วยอย่างsimpตอนนี้ก็คือถ้าเป้าหมายของคุณคือ

(a)(d),a !d

พวกเขาจะพบลำดับการใช้งานที่เหมาะสมของกฎ MP,และพร้อมการรวมกันที่เข้ากันได้สำหรับขั้นตอนที่เกี่ยวข้องและแก้ปัญหาเป้าหมายPQPPPQ


สัญกรณ์:ด้วยชุดของสูตรทางตรรกะสัญกรณ์Γ={φ1,...,φn}

Γψ

หมายถึงต่อไปนี้:

Γψ

Γψψ

PQφ


3

2

ผมไม่คิดว่ามันเป็นสิ่งสำคัญที่เครื่องมือการอนุมาน ขั้นตอนวิธีการรวมกันเป็นอย่างไรที่เป็นประโยชน์มากสำหรับอนุมานชนิด นี่เป็นการอนุมานสองแบบที่แตกต่างกันมาก

การอนุมานประเภทมีความสำคัญต่อวิทยาศาสตร์คอมพิวเตอร์เพราะประเภทมีความสำคัญในทฤษฎีภาษาโปรแกรมซึ่งเป็นส่วนสำคัญของวิทยาศาสตร์คอมพิวเตอร์ ประเภทก็ใกล้เคียงกับตรรกะและใช้อย่างเข้มข้นในการพิสูจน์ทฤษฎีบทอัตโนมัติ มีการใช้งานของอัลกอริทึมการรวมในหลายถ้าไม่ทั้งหมดพิสูจน์ผู้ช่วยและแก้ SMT

เอ็นจิ้นการอนุมานนั้นเกี่ยวข้องกับปัญญาประดิษฐ์ซึ่งมีความสำคัญ แต่แตกต่างกันมาก (ฉันเคยเห็นลิงก์ระหว่างการเรียนรู้และตรรกะ แต่ดูเหมือนว่าดึงมาแล้ว)


ฉันไม่คิดว่าประโยคแรกใช้ได้ เห็นคำตอบของฉัน
กราฟิลส์

1
ฉันไม่เห็นด้วยกับประโยคแรก Resolution (ความเชี่ยวชาญเฉพาะด้านของการรวม) เป็นหัวใจสำคัญของ Prolog ซึ่งเป็นหนึ่งในภาษาการติดตั้งที่ใช้กันทั่วไปสำหรับระบบผู้เชี่ยวชาญและเอ็นจิ้นการอนุมานอื่น ๆ
Dave Clarke

@ ราฟาเอลและเดฟ: ดังนั้นคุณบอกว่าอัลกอริทึมการรวมกันจะถูกใช้โดยตรงในเครื่องมืออนุมาน?
jmad

@jmad: ผมไม่แน่ใจว่ามีขั้นตอนวิธีการรวมกันและนอกจากนี้ผมยังไม่แน่ใจว่าสิ่งที่ชนิดของระบบที่เรียกว่า "กลไกการอนุมาน" ฉันรู้ว่ามีการใช้การรวมกันอย่างกว้างขวางทุกที่ที่มีการ logics และ / หรือ semantics ที่เป็นทางการปรากฏขึ้น เห็นคำตอบของเดฟสำหรับรายการ
Raphael

@ ราฟาเอล: นั่นเป็นปัญหาที่ฉันต้องการพูดถึง: ดูเหมือนว่าเอ็นจิ้นการอนุมานไม่เกี่ยวกับการอนุมานที่ฉันรู้เกี่ยวกับประเภทและตรรกะ
jmad
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.