กลับไปหน้าบทความ

อ่าน 3 นาที

ตารางการตัดสินใจ

ตารางการตัดสินใจเป็นแผนภาพที่กระชับสำหรับการระบุการกระทำที่ควรทำขึ้นอยู่กับเงื่อนไขที่กำหนด คำว่า "ตารางการตัดสินใจ"...

ตารางการตัดสินใจ

ชุดข้อมูลการเล่นกอล์ฟ
ตัวแปรอิสระ ตัวแปรตาม
ลุคอุณหภูมิความชื้นลมแรงเล่น
แดดจัด8585เท็จอย่าเล่น
แดดจัด8090จริงอย่าเล่น
ท้องฟ้ามืดครึ้ม8378เท็จเล่น
ฝน7096เท็จเล่น
ฝน6880เท็จเล่น
ฝน6570จริงอย่าเล่น
ท้องฟ้ามืดครึ้ม6465จริงเล่น
แดดจัด7295เท็จอย่าเล่น
แดดจัด6970เท็จเล่น
ฝน7580เท็จเล่น
แดดจัด7570จริงเล่น
ท้องฟ้ามืดครึ้ม7290จริงเล่น
ท้องฟ้ามืดครึ้ม8175เท็จเล่น
ฝน7180จริงอย่าเล่น

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

ภาพรวม

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

เพื่อให้กระชับยิ่งขึ้น ตารางการตัดสินใจหลายตารางจึงรวมสัญลักษณ์ " ไม่สนใจ" ไว้ในตัวเลือกเงื่อนไข ซึ่งอาจเป็นเครื่องหมายขีดกลาง[ 1 ] [ 2 ] [ 3 ]หรือช่องว่าง[ 4 ]แม้ว่าการใช้ช่องว่างจะไม่แนะนำ เนื่องจากอาจบ่งชี้ว่าตารางการตัดสินใจยังไม่เสร็จสมบูรณ์ ประโยชน์อย่างหนึ่งของตารางการตัดสินใจคือการเปิดเผยเงื่อนไขที่ปัจจัยนำเข้าบางอย่างไม่เกี่ยวข้องกับการกระทำที่จะดำเนินการ ทำให้สามารถข้ามการทดสอบปัจจัยนำเข้าเหล่านี้ได้ และทำให้ขั้นตอนการตัดสินใจคล่องตัวขึ้น[ 5 ]

การสาธิตสัญลักษณ์ “ไม่สนใจ”
กฎ
เงื่อนไข รู้สึกกระปรี้กระเปร่าใช่ไหม?ใช่เลขที่ใช่เลขที่
ฝนตกหรือเปล่า?ใช่ใช่เลขที่เลขที่
การกระทำ อยู่แต่ในบ้านอาจจะอาจจะ
ไปวิ่งกันเถอะอาจจะ
ดูแลสวนอาจจะอาจจะ
กฎ
เงื่อนไข รู้สึกกระปรี้กระเปร่าใช่ไหม?ใช่เลขที่
ฝนตกหรือเปล่า?ใช่เลขที่เลขที่
การกระทำ อยู่แต่ในบ้านอาจจะ
ไปวิ่งกันเถอะอาจจะ
ดูแลสวนอาจจะอาจจะ
ตารางทั้งสองแสดงข้อมูลเหมือนกันทุกประการ แต่ตารางที่สองใช้เครื่องหมายขีดกลาง (-) เป็นสัญลักษณ์แทนความกระชับ เพื่อไม่ให้ดูรกตา

นอกเหนือจากโครงสร้างสี่ควอดแรนต์พื้นฐานแล้ว ตารางการตัดสินใจยังแตกต่างกันอย่างมากในวิธีการแสดงทางเลือกเงื่อนไขและรายการการกระทำ[ 6 ] [ 7 ]ตารางการตัดสินใจบางตารางใช้ค่าจริง/เท็จอย่างง่ายเพื่อแสดงทางเลือกของเงื่อนไข (คล้ายกับ if-then-else) ตารางอื่นๆ อาจใช้ทางเลือกที่มีหมายเลข (คล้ายกับ switch-case) และบางตารางยังใช้ตรรกะคลุมเครือหรือการแสดงแบบความน่าจะเป็นสำหรับทางเลือกเงื่อนไข[ 8 ]ในทำนองเดียวกัน รายการการกระทำสามารถแสดงได้ง่ายๆ ว่าควรดำเนินการหรือไม่ (ตรวจสอบการกระทำที่จะดำเนินการ) หรือในตารางการตัดสินใจขั้นสูงกว่านั้น ลำดับของการกระทำที่จะดำเนินการ (กำหนดหมายเลขการกระทำที่จะดำเนินการ)

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

ตัวอย่าง

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

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

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

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

ประโยชน์ของวิศวกรรมซอฟต์แวร์

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

เครื่องมือสำหรับแปลงคำสั่ง if แบบซ้อนกันจากภาษาการเขียนโปรแกรมแบบดั้งเดิมเป็นตารางการตัดสินใจสามารถใช้เป็นเครื่องมือในการดีบักได้เช่นกัน[ 9 ] [ 10 ]

ตารางการตัดสินใจได้รับการพิสูจน์แล้วว่าเข้าใจและตรวจสอบได้ง่ายกว่าโค้ด และถูกนำมาใช้อย่างกว้างขวางและประสบความสำเร็จในการสร้างข้อกำหนดสำหรับระบบที่ซับซ้อน[ 11 ]

ประวัติศาสตร์

ในช่วงทศวรรษ 1960 และ 1970 ภาษาโปรแกรมที่ใช้ "ตารางตัดสินใจ" หลายภาษา เช่นFiletabได้รับความนิยมในการเขียนโปรแกรมทางธุรกิจ

ตารางการตัดสินใจแบบฝังตัวของโปรแกรม

ตารางการตัดสินใจสามารถฝังอยู่ในโปรแกรมคอมพิวเตอร์ได้ และมักจะถูกฝังอยู่เช่นนั้น โดยใช้เพื่อ "ขับเคลื่อน" ตรรกะของโปรแกรม ตัวอย่างง่ายๆ อาจเป็นตารางค้นหาที่มีช่วงของค่าอินพุตที่เป็นไปได้ และตัวชี้ฟังก์ชันไปยังส่วนของโค้ดที่จะประมวลผลอินพุตนั้น

ตารางการตัดสินใจแบบคงที่
ป้อนข้อมูลตัวชี้ฟังก์ชัน
"1"ฟังก์ชัน 1 (เริ่มต้นค่า)
"2"ฟังก์ชัน 2 (กระบวนการ 2)
"9"ฟังก์ชัน 9 (ยุติการทำงาน)

ตารางควบคุม

สามารถเขียนโค้ดสำหรับเงื่อนไขหลายเงื่อนไขในลักษณะเดียวกัน เพื่อรวบรวมตรรกะของโปรแกรมทั้งหมดไว้ในรูปแบบของตารางการตัดสินใจหรือตารางควบคุมที่ "สามารถเรียกใช้งานได้" ในทางปฏิบัติอาจมีตารางดังกล่าวหลายตาราง ซึ่งทำงานในระดับที่แตกต่างกัน และมักเชื่อมโยงถึงกัน (ไม่ว่าจะโดยตัวชี้หรือค่าดัชนี)

การนำไปใช้

  • Filetabซึ่งเดิมทีมาจากNCC
  • DETAB/65, 1965, ACM
  • FORTAB จาก Rand ในปี พ.ศ. 2505 ออกแบบมาเพื่อฝังใน FORTRAN [ 12 ]
  • มีการใช้งาน Ruby โดยใช้MapReduce เพื่อค้นหาการกระทำที่ถูกต้องตามค่าอินพุตเฉพาะ[ 13 ]

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • Dwyer, B. และ Hutchings, K. (1977) "การเพิ่มประสิทธิภาพผังงานใน Cope ซึ่งเป็นตารางการตัดสินใจแบบหลายตัวเลือก" Aust. Comp. J. Vol. 9 No. 3 หน้า 92 (ก.ย. 1977)
  • Fisher, DL (1966) "ตารางข้อมูล เอกสาร และการตัดสินใจ" Comm ACM Vol. 9 No. 1 (ม.ค. 1966) หน้า 26–31
  • บริษัท เจเนอรัล อิเล็กทริก (1962) คู่มืออ้างอิง GE-225 TABSOL และคู่มือการใช้งาน GF-224 TABSOL CPB-l47B (มิถุนายน 1962)
  • Grindley, CBB (1968) "การใช้ตารางการตัดสินใจภายในระบบอนุกรมวิธาน" Comp. J. Vol. 11 No. 2 หน้า 128 (สิงหาคม 1968)
  • แจ็กสัน, แมสซาชูเซตส์ (1975) หลักการออกแบบโปรแกรม สำนักพิมพ์วิชาการ
  • Myers, HJ (1972) "การคอมไพล์โค้ดที่ปรับให้เหมาะสมที่สุดจากตารางการตัดสินใจ" IBM J. Res. & Development (กันยายน 1972) หน้า 489–503
  • Pollack, SL (1962) "DETAB-X: ภาษาคอมพิวเตอร์ที่เน้นการใช้งานทางธุรกิจที่ได้รับการปรับปรุง" Rand Corp. Memo RM-3273-PR (สิงหาคม 1962)
  • Schumacher, H. และ Sevcik, KC (1976) "แนวทางสังเคราะห์ในการแปลงตารางการตัดสินใจ" Comm. ACM Vol. 19 No. 6 (มิถุนายน 1976) หน้า 343–351
  • CSA, (1970): Z243.1–1970 สำหรับตารางการตัดสินใจ สมาคมมาตรฐานแคนาดา
  • Jorgensen, Paul C. (2009) การสร้างแบบจำลองพฤติกรรมซอฟต์แวร์: แนวทางของช่างฝีมือ สำนักพิมพ์ Auerbach, CRC Press บทที่ 5
  • ซอฟต์แวร์ RapidGenสำหรับ Windows, Unix, Linux และ OpenVMS เป็นเครื่องมือและคอมไพเลอร์สำหรับการเขียนโปรแกรมโดยใช้ตารางตัดสินใจ
  • ซอฟต์แวร์ LogicGemสำหรับ Windows คือโปรแกรมประมวลผลตารางตัดสินใจสำหรับปรับปรุงตรรกะและกฎทางธุรกิจให้สมบูรณ์แบบ
  • LF-ET เป็นซอฟต์แวร์สำหรับ Windows, Unix และ Linux ซึ่งเป็นโปรแกรมแก้ไขตารางการตัดสินใจ โปรแกรมสร้าง และโปรแกรมสร้างกรณีทดสอบ
  • [1]ตัวอย่างตารางการตัดสินใจ
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Decision_table&oldid=1310663050 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ตารางการตัดสินใจ

ตารางการตัดสินใจเป็นแผนภาพที่กระชับสำหรับการระบุการกระทำที่ควรทำขึ้นอยู่กับเงื่อนไขที่กำหนด คำว่า "ตารางการตัดสินใจ"...

ภาพรวม

แต่ละการตัดสินใจสอดคล้องกับตัวแปร ความสัมพันธ์ หรือเงื่อนไข ซึ่งค่าที่เป็นไปได้จะแสดงอยู่ในตัวเลือกเงื่อนไข แต่ละการกระทำเป็นขั้นตอนหรือการดำเนินการที่จะต้องทำ และรายการต่างๆ จะระบุว่าควรดำเนินการหรือไม่ (หรือในลำดับใด)...

ตัวอย่าง

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

ประโยชน์ของวิศวกรรมซอฟต์แวร์

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