ผู้แต่ง : เอนริโก ทรอมเบตตา, ฟรานเชสโก เปโรเน
ในวิทยาการคอมพิวเตอร์เชิงทฤษฎี ระบบการเปลี่ยนแปลง เป็นแนวคิดที่ใช้ในการศึกษาการคำนวณ ใช้เพื่ออธิบายพฤติกรรมที่เป็นไปได้ของระบบแยก ประกอบด้วยสถานะและการเปลี่ยนผ่านระหว่างรัฐ ซึ่งอาจติดป้ายกำกับด้วยป้ายกำกับที่เลือกจากชุด ป้ายกำกับเดียวกันอาจปรากฏในการเปลี่ยนมากกว่าหนึ่งครั้ง หากชุดป้ายกำกับเป็นแบบซิงเกิลตัน ระบบจะไม่มีการติดป้ายกำกับเป็นหลัก และสามารถใช้คำจำกัดความที่เรียบง่ายกว่าโดยไม่ใช้ป้ายกำกับได้
นำมาจากวิกิพีเดีย
นี่คือสถานการณ์ที่ฉันเริ่มทำงาน:
ปัญหาเกี่ยวข้องกับเจ้าหน้าที่สองคนคือฮัลและคาร์ลา ฮาล ซึ่งเป็นโรคเบาหวาน สูญเสียอินซูลินไปโดยบังเอิญ และจำเป็นต้องได้รับอินซูลินบางส่วนเพื่อให้มีชีวิตอยู่ต่อไป เขาไม่มีเวลาพอที่จะซื้ออุปกรณ์ใหม่ แต่เขารู้ว่าคาร์ลาเก็บอินซูลินไว้ที่บ้านซึ่งอยู่ใกล้ๆ Hal ไม่ได้รับอนุญาตให้เข้าถึงทรัพย์สินของ Carla นอกจากนี้ Hal ยังรู้ดีว่า Carla ก็เป็นโรคเบาหวานเช่นกัน และเขาอาจทำให้ชีวิตของเธอตกอยู่ในอันตรายจากการรับเสบียงของเธอ ในทางกลับกัน Hal เชื่อว่า Carla อาจสามารถซื้ออินซูลินได้ในภายหลัง
การอภิปรายสั้นๆ เกี่ยวกับสถานการณ์นี้สามารถพบได้ใน notes/LTS_insulin.pdf
(แหล่งที่มาของ LaTex มีอยู่ในโฟลเดอร์ src
)
ร่างการใช้งานมีอยู่ใน src/LTS.pl
ใน Prolog (โดยเฉพาะ เราตัดสินใจนำ SWI Prolog มาใช้)
หากต้องการเรียกใช้เส้นทาง ให้โหลดฐานความรู้ในล่าม โหลดสถานะเริ่มต้น และดำเนินการเส้นทาง
ตัวอย่างเช่น:
?- [LTS].
initial_state ( InitialState ), path( InitialState , Path ) .
InitialState = . ..
Path = . ..
[And a bunch of alternative paths]
true .
?- initial_state(InitialState), export_tree("tree.csv", InitialState).
InitialState = . ..
true .
คำสั่งหลังควรเขียนรายการ csv ของทุกเส้นทาง รูปแบบนี้ได้รับการบันทึกไว้ใน src/LTS.pl
แต่ควรจะ (หวังว่า) ค่อนข้างตรงไปตรงมา
เหตุการณ์สำคัญ:
[ ] เสร็จสิ้นการใช้งาน LTS ของฟังก์ชันแผนผัง
[ ] ใช้ตัวแยกวิเคราะห์
[ ] ปรับปรุงการอภิปรายของ LTS
[ ] เพิ่มป้ายกำกับให้กับการเปลี่ยนภาพ
-