อ่าน 10 นาที
แคลคูลัสสถานการณ์
แคลคูลัสสถานการณ์เป็นรูป แบบ ตรรกะ ที่ออกแบบมาเพื่อใช้ในการแสดงและการให้เหตุผลเกี่ยวกับโดเมนแบบไดนามิก จอห์น แมคคาร์ธีเป็นผู้นำเสนอเป็นครั้งแรกในปี 1963
แคลคูลัสสถานการณ์
แคลคูลัสสถานการณ์เป็นรูป แบบ ตรรกะ ที่ออกแบบมาเพื่อใช้ในการแสดงและการให้เหตุผลเกี่ยวกับโดเมนแบบไดนามิก จอห์น แมคคาร์ธีเป็นผู้นำเสนอเป็นครั้งแรกในปี 1963 [ 1 ] [ 2 ]แคลคูลัสสถานการณ์เวอร์ชันหลักที่นำเสนอในบทความนี้มีพื้นฐานมาจากเวอร์ชันที่เรย์ ไรเตอร์ นำเสนอ ในปี 1991 ตามด้วยส่วนต่างๆ เกี่ยวกับเวอร์ชันปี 1986 ของแมคคาร์ธีและการกำหนดรูปแบบ การเขียนโปรแกรมเชิงตรรกะ
ภาพรวม
แคลคูลัสสถานการณ์แสดงถึงสถานการณ์ที่เปลี่ยนแปลงไปในรูปของชุด สูตร ตรรกะลำดับที่หนึ่งองค์ประกอบพื้นฐานของแคลคูลัสมีดังนี้:
- ผู้ที่พูดได้อย่างคล่องแคล่วซึ่งอธิบายถึงสถานการณ์ของโลก
- การกระทำต่างๆ ที่สามารถทำได้ในโลก
- สถานการณ์
โดเมนได้รับการกำหนดอย่างเป็นทางการด้วยสูตรหลายสูตร ได้แก่:
- สัจพจน์เงื่อนไขเบื้องต้นของการกระทำ หนึ่งสัจพจน์สำหรับแต่ละการกระทำ
- สัจพจน์สถานะผู้สืบทอด หนึ่งสัจพจน์สำหรับแต่ละความคล่องแคล่ว
- สัจพจน์ที่อธิบายโลกในสถานการณ์ต่างๆ
- หลักการพื้นฐานของแคลคูลัสสถานการณ์
จะใช้แบบจำลองโลกหุ่นยนต์อย่างง่ายเป็นตัวอย่าง ในโลกนี้มีหุ่นยนต์หนึ่งตัวและวัตถุที่ไม่มีชีวิตอีกหลายชิ้น โลกถูกจัดวางตามตารางเพื่อให้สามารถระบุตำแหน่งได้ในแง่ของจุดพิกัด หุ่นยนต์สามารถเคลื่อนที่ไปรอบๆ โลก และหยิบจับและวางสิ่งของได้ สิ่งของบางอย่างอาจหนักเกินกว่าที่หุ่นยนต์จะหยิบได้ หรือเปราะบางจนแตกหักเมื่อถูกวางลง หุ่นยนต์ยังมีความสามารถในการซ่อมแซมสิ่งของที่แตกหักที่มันถืออยู่ได้ด้วย
องค์ประกอบ
องค์ประกอบหลักของแคลคูลัสสถานการณ์คือ การกระทำ ตัวแปรอิสระ และสถานการณ์ต่างๆ โดยทั่วไปแล้วจะมีวัตถุจำนวนหนึ่งเกี่ยวข้องกับการอธิบายโลกด้วย แคลคูลัสสถานการณ์นั้นตั้งอยู่บนโดเมนที่เรียงลำดับแล้วสามประเภท ได้แก่ การกระทำ สถานการณ์ และวัตถุ โดยวัตถุจะรวมทุกสิ่งที่ไม่ใช่การกระทำหรือสถานการณ์ สามารถใช้ตัวแปรของแต่ละประเภทได้ ในขณะที่การกระทำ สถานการณ์ และวัตถุเป็นองค์ประกอบของโดเมน ตัวแปรอิสระจะถูกจำลองเป็น述语 (predicate) หรือฟังก์ชัน (function)
การกระทำ
การกระทำต่างๆ ก่อให้เกิดขอบเขตชนิดหนึ่ง ตัวแปรที่เป็นตัวแทนของการกระทำสามารถนำมาใช้ได้ รวมถึงฟังก์ชันที่มีผลลัพธ์เป็นตัวแทนของการกระทำด้วย การกระทำสามารถวัดปริมาณได้ ในตัวอย่างโลกของหุ่นยนต์ เงื่อนไขการกระทำที่เป็นไปได้คือการจำลองการเคลื่อนที่ของหุ่นยนต์ไปยังตำแหน่งใหม่และการจำลองการหยิบวัตถุของหุ่นยนต์มี การใช้ ตัวบ่งชี้พิเศษPossเพื่อระบุว่าการกระทำนั้นสามารถดำเนินการได้เมื่อใด
สถานการณ์
ในแคลคูลัสสถานการณ์ โลกที่มีพลวัตถูกจำลองขึ้นโดยการเปลี่ยนแปลงไปตามสถานการณ์ต่างๆ อันเป็นผลมาจากการกระทำหลายอย่างที่เกิดขึ้นภายในโลกนั้น สถานการณ์แสดงถึงประวัติการเกิดขึ้นของการกระทำ ในแคลคูลัสสถานการณ์เวอร์ชันของไรเตอร์ที่อธิบายไว้ในที่นี้ สถานการณ์ไม่ได้แสดงถึงสถานะ ซึ่งขัดแย้งกับความหมายตามตัวอักษรของคำนี้ และขัดแย้งกับคำจำกัดความดั้งเดิมของแมคคาร์ธีและเฮย์ส ไรเตอร์ได้สรุปประเด็นนี้ไว้ดังนี้:
- สถานการณ์คือลำดับการกระทำที่จำกัด จบ. มันไม่ใช่สถานะ มันไม่ใช่ภาพถ่าย มันคือประวัติ[ 3 ]
โดยทั่วไป สถานการณ์ก่อนที่จะมีการดำเนินการใดๆ จะถูกแสดงด้วยสัญลักษณ์ และเรียกว่าสถานการณ์เริ่มต้น สถานการณ์ใหม่ที่เกิดขึ้นจากการดำเนินการจะแสดงด้วยสัญลักษณ์ฟังก์ชันdo (เอกสารอ้างอิงอื่นๆ[ 4 ] บางฉบับ ใช้result ด้วย ) สัญลักษณ์ฟังก์ชันนี้มีสถานการณ์และการกระทำเป็นอาร์กิวเมนต์ และมีสถานการณ์เป็นผลลัพธ์ ซึ่งผลลัพธ์หลังนี้คือสถานการณ์ที่เกิดขึ้นจากการดำเนินการที่กำหนดในสถานการณ์ที่กำหนด
ข้อเท็จจริงที่ว่าสถานการณ์เป็นลำดับของการกระทำ ไม่ใช่สถานะ ได้รับการยืนยันโดยสัจพจน์ที่ระบุว่าเท่ากับ ก็ต่อเมื่อและ เท่านั้น เงื่อนไขนี้จะไม่มีความหมายหากสถานการณ์เป็นสถานะ เพราะการกระทำสองอย่างที่แตกต่างกันซึ่งดำเนินการในสองสถานะที่แตกต่างกัน อาจส่งผลให้เกิดสถานะเดียวกันได้
ในโลกหุ่นยนต์ตัวอย่าง หากการกระทำแรกของหุ่นยนต์คือการเคลื่อนที่ไปยังตำแหน่งการกระทำแรกคือและสถานการณ์ที่เกิดขึ้นคือหากการกระทำต่อไปคือการหยิบลูกบอล สถานการณ์ที่เกิดขึ้นคือคำว่าสถานการณ์ เช่นและหมายถึงลำดับของการกระทำที่เกิดขึ้น ไม่ใช่คำอธิบายของสถานะที่เกิดขึ้นจากการกระทำนั้น
ผู้คล่องแคล่ว
ข้อความที่มีค่าความจริงเปลี่ยนแปลงได้นั้นถูกจำลองโดยตัวแปรเชิงสัมพันธ์ (relational fluents)ซึ่งเป็นภาคแสดง (predicates) ที่รับสถานการณ์เป็นอาร์กิวเมนต์สุดท้าย นอกจากนี้ยังสามารถมี ตัวแปร เชิงฟังก์ชัน (functional fluents)ซึ่งเป็นฟังก์ชันที่รับสถานการณ์เป็นอาร์กิวเมนต์สุดท้ายและส่งคืนค่าที่ขึ้นอยู่กับสถานการณ์ได้ ตัวแปรเหล่านี้อาจถูกมองว่าเป็น "คุณสมบัติของโลก"
ในตัวอย่างนี้ ฟลูเอนต์สามารถใช้เพื่อระบุว่าหุ่นยนต์กำลังถือวัตถุชิ้นใดชิ้นหนึ่งในสถานการณ์ใดสถานการณ์หนึ่ง หากหุ่นยนต์ไม่ได้ถืออะไรเลยในตอนแรก ค่าจะเป็นเท็จ ในขณะที่ค่าจะเป็นจริง ตำแหน่งของหุ่นยนต์สามารถจำลองได้โดยใช้ฟลูเอนต์เชิงฟังก์ชันที่ส่งคืนตำแหน่งของหุ่นยนต์ในสถานการณ์ใดสถานการณ์หนึ่ง
สูตร
การอธิบายโลกที่มีพลวัตนั้นถูกเข้ารหัสไว้ในตรรกะลำดับที่สองโดยใช้สูตรสามประเภท ได้แก่ สูตรเกี่ยวกับการกระทำ (เงื่อนไขเบื้องต้นและผลลัพธ์) สูตรเกี่ยวกับสถานะของโลก และสัจพจน์พื้นฐาน
เงื่อนไขเบื้องต้นของการดำเนินการ
บางการกระทำอาจไม่สามารถทำได้ในสถานการณ์ที่กำหนด ตัวอย่างเช่น เป็นไปไม่ได้ที่จะวางวัตถุลงเว้นแต่ว่ากำลังถือวัตถุนั้นอยู่ ข้อจำกัดในการกระทำต่างๆ นั้นถูกจำลองโดยตัวแปรในรูปแบบโดยที่aคือการกระทำs คือสถานการณ์ และPossคือตัวบ่งชี้ไบนารีพิเศษที่แสดงถึงความสามารถในการกระทำ ในตัวอย่างนี้ เงื่อนไขที่ว่าการวางวัตถุลงจะทำได้ก็ต่อเมื่อกำลังถือวัตถุนั้นอยู่เท่านั้น ถูกจำลองโดย:
ตัวอย่างที่ซับซ้อนขึ้นต่อไปนี้แสดงให้เห็นว่าหุ่นยนต์สามารถบรรทุกวัตถุได้เพียงครั้งละหนึ่งชิ้นเท่านั้น และวัตถุบางชิ้นมีน้ำหนักมากเกินกว่าที่หุ่นยนต์จะยกได้ (ระบุโดยคำคุณศัพท์heavy ):
เอฟเฟกต์การกระทำ
เมื่อพิจารณาว่าการกระทำนั้นเป็นไปได้ในสถานการณ์หนึ่งแล้ว เราต้องระบุผลกระทบของการกระทำนั้นต่อตัวแปรต่างๆ ซึ่งทำได้โดยใช้สัจพจน์ผลกระทบ ตัวอย่างเช่น ข้อเท็จจริงที่ว่าการหยิบวัตถุทำให้หุ่นยนต์ถือวัตถุนั้นอยู่ สามารถจำลองได้ดังนี้:
นอกจากนี้ยังสามารถระบุผลกระทบแบบมีเงื่อนไขได้ ซึ่งเป็นผลกระทบที่ขึ้นอยู่กับสถานะปัจจุบัน ตัวอย่างเช่น โมเดลต่อไปนี้แสดงให้เห็นว่าวัตถุบางชิ้นเปราะบาง (ระบุโดย述语fragile ) และการทำวัตถุตกจะทำให้วัตถุนั้นแตกหัก (ระบุโดย fluent broken ):
แม้ว่าสูตรนี้จะอธิบายผลของการกระทำได้อย่างถูกต้อง แต่ก็ไม่เพียงพอที่จะอธิบายการกระทำนั้นในเชิงตรรกะได้อย่างถูกต้อง เนื่องจากปัญหาเรื่องกรอบความคิด
ปัญหาเฟรม
แม้ว่าสูตรข้างต้นดูเหมือนจะเหมาะสมสำหรับการให้เหตุผลเกี่ยวกับผลกระทบของการกระทำ แต่ก็มีจุดอ่อนที่สำคัญ คือ ไม่สามารถใช้เพื่ออนุมานถึงผลลัพธ์ที่ไม่เกิดขึ้นจากการกระทำได้ ตัวอย่างเช่น ไม่สามารถอนุมานได้ว่าหลังจากหยิบวัตถุแล้ว ตำแหน่งของหุ่นยนต์ยังคงไม่เปลี่ยนแปลง ซึ่งต้องใช้สิ่งที่เรียกว่าสัจพจน์กรอบอ้างอิง ซึ่งเป็นสูตรเช่น:
ความจำเป็นในการระบุสัจพจน์ของเฟรมได้รับการยอมรับมานานแล้วว่าเป็นปัญหาในการกำหนดสัจพจน์ของโลกแบบไดนามิก และเป็นที่รู้จักกันในชื่อปัญหาเฟรมเนื่องจากโดยทั่วไปแล้วมีสัจพจน์ดังกล่าวจำนวนมาก จึงเป็นเรื่องง่ายมากที่ผู้ออกแบบจะละเลยสัจพจน์ของเฟรมที่จำเป็น หรือลืมแก้ไขสัจพจน์ที่เหมาะสมทั้งหมดเมื่อมีการเปลี่ยนแปลงคำอธิบายของโลก
สัจพจน์ของรัฐผู้สืบทอด
สัจพจน์สถานะผู้สืบทอด "แก้" ปัญหาเฟรมในแคลคูลัสสถานการณ์ ตามวิธีแก้ปัญหานี้ ผู้ออกแบบจะต้องแจงนับสัจพจน์ผลกระทบทุกวิธีที่ค่าของตัวแปรอิสระเฉพาะสามารถเปลี่ยนแปลงได้ สัจพจน์ผลกระทบที่มีผลต่อค่าของตัวแปรอิสระสามารถเขียนในรูปแบบทั่วไปได้เป็นสัจพจน์ผลกระทบเชิงบวกและเชิงลบ:
สูตรนี้อธิบายเงื่อนไขที่การกระทำaในสถานการณ์sทำให้ความสัมพันธ์แบบลื่นไหลFกลายเป็นจริงในสถานการณ์ถัดไป ในทำนองเดียวกัน สูตรนี้ อธิบายเงื่อนไขที่การกระทำaในสถานการณ์sทำให้ความสัมพันธ์แบบลื่นไหลFกลายเป็นเท็จในสถานการณ์ถัดไป
หากสัจพจน์ทั้งสองนี้อธิบายถึงวิธีการทั้งหมดที่ ค่า F ที่ลื่นไหล สามารถเปลี่ยนแปลงได้ ก็สามารถเขียนใหม่เป็นสัจพจน์เดียวได้:
กล่าวโดยสรุป สูตรนี้ระบุว่า: "เมื่อพิจารณาว่าสามารถกระทำการaในสถานการณ์s ได้ ความจริงFจะเป็นจริงในสถานการณ์ที่เกิดขึ้นก็ต่อเมื่อการกระทำaในสถานการณ์sจะทำให้ความจริง F เป็นจริง หรือความจริง F เป็นจริงในสถานการณ์sและการกระทำaในสถานการณ์sจะไม่ทำให้ความจริง F เป็นเท็จ"
ยกตัวอย่างเช่น ค่าของเส้นโค้ง ที่ขาดตอน ซึ่งได้กล่าวถึงข้างต้นนั้น กำหนดโดยสัจพจน์สถานะผู้สืบทอดดังต่อไปนี้:
รัฐต่างๆ
คุณสมบัติของสถานการณ์เริ่มต้นหรือสถานการณ์อื่นๆ สามารถระบุได้โดยการระบุออกมาเป็นสูตร ตัวอย่างเช่น ข้อเท็จจริงเกี่ยวกับสถานะเริ่มต้นจะถูกกำหนดเป็นทางการโดยการยืนยันเกี่ยวกับ(ซึ่งไม่ใช่สถานะ แต่เป็นสถานการณ์ ) ข้อความต่อไปนี้จำลองสถานการณ์ว่า ในตอนเริ่มต้น หุ่นยนต์ไม่ได้ถืออะไรเลย อยู่ที่ตำแหน่งและไม่มีวัตถุแตกหัก:
หลักการพื้นฐาน
สัจพจน์พื้นฐานของแคลคูลัสสถานการณ์ทำให้แนวคิดที่ว่าสถานการณ์เป็นประวัติศาสตร์เป็นรูปธรรมโดยการมีคุณสมบัตินอกจากนี้ยังรวมถึงคุณสมบัติอื่นๆ เช่น การอุปมานลำดับที่สองในสถานการณ์ด้วย
การถดถอย
การถดถอย[ 5 ]เป็นกลไกสำหรับการพิสูจน์ผลที่ตามมาในแคลคูลัสสถานการณ์[ 6 ]โดยอาศัยการแสดงสูตรที่มีสถานการณ์ในรูปของสูตรที่มีการกระทำaและสถานการณ์sแต่ไม่ใช่สถานการณ์โดยการทำซ้ำขั้นตอนนี้ เราสามารถได้สูตรที่เทียบเท่ากันซึ่งมีเพียงสถานการณ์เริ่มต้นS 0 เท่านั้น การพิสูจน์ผลที่ตามมานั้นถือว่าง่ายกว่าจากสูตรนี้มากกว่าจากสูตรดั้งเดิม
โกล็อก
GOLOG เป็นภาษาการเขียนโปรแกรม เชิงตรรกะ ที่อิงตามแคลคูลัสสถานการณ์[ 7 ] [ 8 ]
เวอร์ชันดั้งเดิมของแคลคูลัสสถานการณ์
ความแตกต่างหลักระหว่างแคลคูลัสสถานการณ์ดั้งเดิมของแมคคาร์ธีและเฮย์สกับแคลคูลัสสถานการณ์ที่ใช้ในปัจจุบันอยู่ที่การตีความสถานการณ์ ในแคลคูลัสสถานการณ์ฉบับสมัยใหม่ สถานการณ์คือลำดับของการกระทำ เดิมที สถานการณ์ถูกนิยามว่า "สถานะที่สมบูรณ์ของจักรวาล ณ ช่วงเวลาหนึ่ง" เป็นที่ชัดเจนตั้งแต่แรกว่าสถานการณ์ดังกล่าวไม่สามารถอธิบายได้อย่างสมบูรณ์ แนวคิดก็คือการให้ข้อความบางอย่างเกี่ยวกับสถานการณ์และอนุมานผลที่ตามมาจากการนั้น ซึ่งแตกต่างจากแนวทางที่ใช้ในแคลคูลัสแบบไหลลื่น (fluent calculus ) ที่สถานะอาจเป็นชุดของข้อเท็จจริงที่ทราบแล้ว นั่นคือ คำอธิบาย ที่ไม่สมบูรณ์ของจักรวาล
ในแคลคูลัสสถานการณ์ฉบับดั้งเดิม ตัวแปรคงที่ (fluents) ไม่ได้ถูกทำให้เป็นรูปธรรม กล่าวคือ เงื่อนไขที่สามารถเปลี่ยนแปลงได้จะถูกแทนด้วยภาคแสดง (predicates) ไม่ใช่ฟังก์ชัน อันที่จริง แมคคาร์ธีและเฮย์สได้นิยามตัวแปรคงที่ว่าเป็นฟังก์ชันที่ขึ้นอยู่กับสถานการณ์ แต่พวกเขาก็ยังคงใช้ภาคแสดงในการแทนตัวแปรคงที่เสมอ ตัวอย่างเช่น ข้อเท็จจริงที่ว่าฝนตกที่สถานที่xในสถานการณ์sจะถูกแทนด้วยค่าคงที่ในแคลคูลัสสถานการณ์ฉบับปี 1986 ของแมคคาร์ธี ตัวแปรคงที่ที่เป็นฟังก์ชันถูกนำมาใช้ ตัวอย่างเช่น ตำแหน่งของวัตถุxในสถานการณ์sจะถูกแทนด้วยค่าของโดย ที่ตำแหน่งเป็นฟังก์ชัน ข้อความเกี่ยวกับฟังก์ชันดังกล่าวสามารถระบุได้โดยใช้ความเท่าเทียมกัน: หมายความว่าตำแหน่งของวัตถุxเหมือนกันในสองสถานการณ์sและ
การดำเนินการของแอ็กชันต่างๆ แสดงโดยฟังก์ชันผลลัพธ์ : การดำเนินการของแอ็กชันaในสถานการณ์sคือสถานการณ์ผลของแอ็กชันต่างๆ แสดงโดยสูตรที่เชื่อมโยงตัวแปรอิสระในสถานการณ์sและตัวแปรอิสระในสถานการณ์ต่างๆตัวอย่างเช่น แอ็กชันการเปิดประตูส่งผลให้ประตูเปิดออกหากไม่ได้ล็อก แสดงโดย:
เงื่อนไข"ล็อค"และ"เปิด"แทนสภาวะที่ประตูถูกล็อคและเปิด ตามลำดับ เนื่องจากสภาวะเหล่านี้อาจเปลี่ยนแปลงได้ จึงแสดงด้วยเงื่อนไขที่มีอาร์กิวเมนต์สถานการณ์ สูตรกล่าวว่า หากประตูไม่ได้ถูกล็อคในสถานการณ์หนึ่ง ประตูจะเปิดหลังจากดำเนินการเปิด ซึ่งการกระทำนี้แทนด้วยค่าคงที่ " เปิด "
สูตรเหล่านี้ไม่เพียงพอที่จะอนุมานทุกสิ่งที่ถือว่าสมเหตุสมผลได้ อันที่จริงแล้ว ตัวแปรอิสระในสถานการณ์ต่างๆ จะมีความสัมพันธ์กันก็ต่อเมื่อเป็นเงื่อนไขเบื้องต้นและผลของการกระทำเท่านั้น หากตัวแปรอิสระไม่ได้รับผลกระทบจากการกระทำ ก็ไม่มีทางที่จะอนุมานได้ว่าตัวแปรอิสระนั้นไม่เปลี่ยนแปลง ตัวอย่างเช่น สูตรข้างต้นไม่ได้หมายความว่าเป็นไปตามซึ่งเป็นสิ่งที่คาดหวัง (ประตูไม่ได้ถูกล็อกเมื่อเปิดประตู) เพื่อให้ความเฉื่อยคงอยู่ได้ จำเป็นต้องใช้สูตรที่เรียกว่าสัจพจน์กรอบสูตรเหล่านี้ระบุถึงสิ่งที่ไม่เป็นผลจากการกระทำทั้งหมด:
ในการกำหนดรูปแบบดั้งเดิมของแคลคูลัสสถานการณ์ สถานการณ์เริ่มต้น ซึ่งต่อมาใช้สัญลักษณ์ แทน ไม่ได้ถูกระบุอย่างชัดเจน สถานการณ์เริ่มต้นไม่จำเป็นหากถือว่าสถานการณ์เป็นคำอธิบายของโลก ตัวอย่างเช่น การแสดงสถานการณ์ที่ประตูถูกปิดแต่ไม่ได้ล็อก และมีการกระทำในการเปิดประตูนั้น สามารถทำได้โดยการใช้ค่าคงที่sแทนสถานการณ์เริ่มต้น และกล่าวถึงสถานการณ์นั้น (เช่น) การที่ประตูเปิดออกหลังจากมีการเปลี่ยนแปลงนั้นสะท้อนให้เห็นได้จากสูตรที่ได้มาจากการอนุมาน สถานการณ์เริ่มต้นจึงจำเป็นหากสถานการณ์ถูกมองว่าเป็นประวัติของการกระทำ เช่นเดียวกับในแคลคูลัสสถานการณ์สมัยใหม่ เนื่องจากสถานการณ์เริ่มต้นแสดงถึงลำดับการกระทำที่ว่างเปล่า
แนวคิดเรื่องแคลคูลัสสถานการณ์ที่แมคคาร์ธีนำเสนอในปี 1986 แตกต่างจากแนวคิดดั้งเดิมตรงที่ใช้ฟลูเอนท์เชิงฟังก์ชัน (เช่นเป็นเทอมที่แสดงตำแหน่งของxในสถานการณ์s ) และความพยายามที่จะใช้การจำกัดขอบเขตมาแทนที่สัจพจน์ของกรอบ
แคลคูลัสสถานการณ์ในฐานะโปรแกรมตรรกะ
นอกจากนี้ ยังสามารถเขียนแคลคูลัสสถานการณ์ในรูปแบบโปรแกรมตรรกะได้อีกด้วย (เช่น Kowalski 1979, Apt and Bezem 1990, Shanahan 1997):
ในที่นี้Holdsเป็นเมตาเพรดิเคท และตัวแปรfครอบคลุมฟลูเอนท์ เพรดิเคทPoss , InitiatesและTerminatesสอดคล้องกับเพรดิเคทPoss , , และตามลำดับ ลูกศรซ้าย ← คือครึ่งหนึ่งของความเท่าเทียมกัน ↔ อีกครึ่งหนึ่งนั้นแฝงอยู่ในความสมบูรณ์ของโปรแกรม ซึ่งการปฏิเสธถูกตีความว่าเป็นการปฏิเสธในฐานะความล้มเหลวสัจพจน์การเหนี่ยวนำก็แฝงอยู่เช่นกัน และจำเป็นเฉพาะในการพิสูจน์คุณสมบัติของโปรแกรม การให้เหตุผลย้อนกลับ เช่น ในการแก้ปัญหา SLDซึ่งเป็นกลไกปกติที่ใช้ในการดำเนินการโปรแกรมตรรกะ จะนำการถดถอยมาใช้โดยปริยาย
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ แคลคูลัสสถานการณ์
แคลคูลัสสถานการณ์เป็นรูป แบบ ตรรกะ ที่ออกแบบมาเพื่อใช้ในการแสดงและการให้เหตุผลเกี่ยวกับโดเมนแบบไดนามิก จอห์น แมคคาร์ธีเป็นผู้นำเสนอเป็นครั้งแรกในปี 1963
ภาพรวม
แคลคูลัสสถานการณ์แสดงถึงสถานการณ์ที่เปลี่ยนแปลงไปในรูปของชุด สูตร ตรรกะลำดับที่หนึ่ง องค์ประกอบพื้นฐานของแคลคูลัสมีดังนี้:
องค์ประกอบ
องค์ประกอบหลักของแคลคูลัสสถานการณ์คือ การกระทำ ตัวแปรอิสระ และสถานการณ์ต่างๆ โดยทั่วไปแล้วจะมีวัตถุจำนวนหนึ่งเกี่ยวข้องกับการอธิบายโลกด้วย แคลคูลัสสถานการณ์นั้นตั้งอยู่บนโดเมนที่เรียงลำดับแล้วสามประเภท ได้แก่ การกระทำ สถานการณ์ และวัตถุ...
การกระทำ
การกระทำต่างๆ ก่อให้เกิดขอบเขตชนิดหนึ่ง ตัวแปรที่เป็นตัวแทนของการกระทำสามารถนำมาใช้ได้ รวมถึงฟังก์ชันที่มีผลลัพธ์เป็นตัวแทนของการกระทำด้วย การกระทำสามารถวัดปริมาณได้ ในตัวอย่างโลกของหุ่นยนต์...