อ่าน 3 นาที
ตารางการตัดสินใจ
ตารางการตัดสินใจเป็นแผนภาพที่กระชับสำหรับการระบุการกระทำที่ควรทำขึ้นอยู่กับเงื่อนไขที่กำหนด คำว่า "ตารางการตัดสินใจ"...
ตารางการตัดสินใจ
| ตัวแปรอิสระ | ตัวแปรตาม | |||
|---|---|---|---|---|
| ลุค | อุณหภูมิ | ความชื้น | ลมแรง | เล่น |
| แดดจัด | 85 | 85 | เท็จ | อย่าเล่น |
| แดดจัด | 80 | 90 | จริง | อย่าเล่น |
| ท้องฟ้ามืดครึ้ม | 83 | 78 | เท็จ | เล่น |
| ฝน | 70 | 96 | เท็จ | เล่น |
| ฝน | 68 | 80 | เท็จ | เล่น |
| ฝน | 65 | 70 | จริง | อย่าเล่น |
| ท้องฟ้ามืดครึ้ม | 64 | 65 | จริง | เล่น |
| แดดจัด | 72 | 95 | เท็จ | อย่าเล่น |
| แดดจัด | 69 | 70 | เท็จ | เล่น |
| ฝน | 75 | 80 | เท็จ | เล่น |
| แดดจัด | 75 | 70 | จริง | เล่น |
| ท้องฟ้ามืดครึ้ม | 72 | 90 | จริง | เล่น |
| ท้องฟ้ามืดครึ้ม | 81 | 75 | เท็จ | เล่น |
| ฝน | 71 | 80 | จริง | อย่าเล่น |
ตารางการตัดสินใจเป็นแผนภาพที่กระชับสำหรับการระบุการกระทำที่ควรทำขึ้นอยู่กับเงื่อนไขที่กำหนด คำว่า "ตารางการตัดสินใจ" ใช้ในความหมายของตารางควบคุมหรือตารางการเปลี่ยนสถานะในสาขาการสร้างแบบจำลองกระบวนการทางธุรกิจ โดยปกติแล้วจะมีรูปแบบเป็นการสลับแถวและ คอลัมน์ เหมือนกับที่ใช้ในวิศวกรรมซอฟต์แวร์
ภาพรวม
แต่ละการตัดสินใจสอดคล้องกับตัวแปร ความสัมพันธ์ หรือเงื่อนไข ซึ่งค่าที่เป็นไปได้จะแสดงอยู่ในตัวเลือกเงื่อนไข แต่ละการกระทำเป็นขั้นตอนหรือการดำเนินการที่จะต้องทำ และรายการต่างๆ จะระบุว่าควรดำเนินการหรือไม่ (หรือในลำดับใด) สำหรับชุดตัวเลือกเงื่อนไขที่รายการนั้นสอดคล้อง
เพื่อให้กระชับยิ่งขึ้น ตารางการตัดสินใจหลายตารางจึงรวมสัญลักษณ์ " ไม่สนใจ" ไว้ในตัวเลือกเงื่อนไข ซึ่งอาจเป็นเครื่องหมายขีดกลาง[ 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]ตัวอย่างตารางการตัดสินใจ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ตารางการตัดสินใจ
ตารางการตัดสินใจเป็นแผนภาพที่กระชับสำหรับการระบุการกระทำที่ควรทำขึ้นอยู่กับเงื่อนไขที่กำหนด คำว่า "ตารางการตัดสินใจ"...
ภาพรวม
แต่ละการตัดสินใจสอดคล้องกับตัวแปร ความสัมพันธ์ หรือเงื่อนไข ซึ่งค่าที่เป็นไปได้จะแสดงอยู่ในตัวเลือกเงื่อนไข แต่ละการกระทำเป็นขั้นตอนหรือการดำเนินการที่จะต้องทำ และรายการต่างๆ จะระบุว่าควรดำเนินการหรือไม่ (หรือในลำดับใด)...
ตัวอย่าง
ตารางการตัดสินใจแบบจำกัดรายการนั้นอธิบายได้ง่ายที่สุด ตัวเลือกเงื่อนไขเป็นค่าบูลีนอย่างง่าย และรายการการกระทำเป็นเครื่องหมายถูก ซึ่งแสดงว่าต้องดำเนินการใดในคอลัมน์ที่กำหนด
ประโยชน์ของวิศวกรรมซอฟต์แวร์
ตารางการตัดสินใจ โดยเฉพาะอย่างยิ่งเมื่อใช้ร่วมกับ ภาษาเฉพาะด้าน จะช่วยให้นักพัฒนาและผู้เชี่ยวชาญด้านนโยบายสามารถทำงานจากข้อมูลเดียวกัน ซึ่งก็คือตารางการตัดสินใจนั่นเอง