Döntési táblázat - Decision table
A döntési táblázatok tömör vizuális ábrázolással adják meg, hogy az adott körülményektől függően mely műveleteket hajtsák végre. Ezek olyan algoritmusok, amelyek kimenete műveletek halmaza. A döntési táblázatokban megfogalmazott információk döntési fákként vagy programozási nyelven ábrázolhatók if-then-else és switch-case állítások sorozataként is .
Áttekintés
Minden döntés egy olyan változónak, relációnak vagy állítmánynak felel meg, amelynek lehetséges értékei szerepelnek a feltétel-alternatívák között. Minden művelet végrehajtandó eljárás vagy művelet, és a bejegyzések meghatározzák, hogy a műveletet (vagy milyen sorrendben) végre kell hajtani azon feltétel-alternatívák halmazánál, amelyeknek a bejegyzés megfelel.
Annak érdekében, hogy tömörebbek legyenek, sok döntési táblázat feltételállapotaiban tartalmaz egy nem érdekel szimbólumot. Ez lehet kötőjel vagy üres, bár a vak használata nem ajánlott, mert csupán azt jelezheti, hogy a döntési táblázat még nem készült el. A döntési táblázatok egyik felhasználási módja olyan feltételek feltárása, amelyek mellett bizonyos input tényezők nincsenek jelentősége a végrehajtandó intézkedéseknek, lehetővé téve ezeknek a bemeneti teszteknek az átugrását és ezáltal a döntéshozatali eljárások egyszerűsítését.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A fenti táblázatok azonos információkat közölnek, de a második táblázat kötőjelet használ a rövidség érdekében a nem törődő szimbólumként. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A négy kvadráns alapstruktúrájától eltekintve, a döntési táblázatok nagymértékben eltérnek a feltétel-alternatívák és a cselekvési bejegyzések megjelenítési módjától. Egyes döntési táblázatok egyszerű igaz / hamis értékeket használnak a feltétel alternatíváinak ábrázolásához (hasonlóan az if-akkor-máshoz), más táblázatok számozott alternatívákat használhatnak (hasonlóan a switch-case-hez), és egyes táblázatok még fuzzy logikát vagy valószínűségi ábrázolásokat is használnak az állapot alternatíváihoz. Hasonló módon a műveletbejegyzések egyszerűen azt jelenthetik, hogy egy műveletet végre kell hajtani (ellenőrizni kell a végrehajtandó műveleteket), vagy a fejlettebb döntési táblákban a végrehajtandó műveletek sorrendjét (számolni kell a végrehajtandó műveleteket).
A döntési táblázat akkor tekinthető kiegyensúlyozottnak vagy teljesnek, ha a bemeneti változók minden lehetséges kombinációját tartalmazza. Más szavakkal, a kiegyensúlyozott döntési táblázatok minden olyan helyzetben előírnak egy műveletet, ahol a bemeneti változókat megadják.
Példa
A korlátozott belépésű döntési táblázat leírása a legegyszerűbb. A feltétel alternatívái egyszerű logikai értékek, a műveletbejegyzések pedig pipák, amelyek azt jelzik, hogy az adott oszlopban mely műveleteket kell végrehajtani.
Egy technikai támogató cég döntési táblázatot ír a nyomtatóproblémák diagnosztizálására az ügyfelektől telefonon leírt tünetek alapján.
Az alábbiakban kiegyensúlyozott döntési táblázat található .
| Szabályok | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Körülmények | Nyomtató nyomtat | Nem | Nem | Nem | Nem | Igen | Igen | Igen | Igen |
| Piros fény villog | Igen | Igen | Nem | Nem | Igen | Igen | Nem | Nem | |
| A nyomtatót a számítógép felismeri | Nem | Igen | Nem | Igen | Nem | Igen | Nem | Igen | |
| Műveletek | Ellenőrizze a tápkábelt | - | |||||||
| Ellenőrizze a nyomtató-számítógép kábelt | - | ||||||||
| Győződjön meg arról, hogy a nyomtatószoftver telepítve van | - | ||||||||
| Ellenőrizze / cserélje a tintát | - | ||||||||
| Ellenőrizze, hogy nincs-e papírelakadás | - | ||||||||
Természetesen ez csak egy egyszerű példa (és nem feltétlenül felel meg a nyomtató hibaelhárításának valóságának), de még így is bemutatja, hogy a döntési táblázatok hogyan skálázhatók több feltételre, sok lehetőséggel.
Szoftvertechnikai előnyök
A döntési táblázatok, különösen ha egy tartományspecifikus nyelv használatával párosulnak , lehetővé teszik a fejlesztők és szakpolitikai szakértők számára, hogy ugyanazokból az információkból, maguk a döntési táblákból dolgozzanak.
Beágyazott eszközök, ha a hagyományos programozási nyelvek utasításai a döntési táblákba is használhatók hibakeresési eszközként.
A döntési táblázatok bebizonyosodtak, hogy könnyebben érthetők és áttekinthetők, mint a kód, és széles körben és sikeresen használták őket összetett rendszerek specifikációinak elkészítéséhez.
Történelem
Az 1960-as és 1970-es években számos "döntéstábla alapú" nyelv, például a Filetab volt népszerű az üzleti programozásban.
Program beágyazott döntési táblázatai
A döntési táblázatok beágyazhatók, és gyakran beépülnek a számítógépes programokba, és felhasználhatók a program logikájának "meghajtására". Egyszerű példa lehet egy keresőtábla, amely tartalmazza a lehetséges bemeneti értékek tartományát és egy funkciómutatót a kódrészhez az adott bemenet feldolgozásához.
| Bemenet | Funkció mutató |
|---|---|
| "1" | 1. funkció (inicializálás) |
| "2" | 2. funkció (2. folyamat) |
| "9" | 9. funkció (megszüntetés) |
Vezérlő táblák
Több feltétel is kódolható hasonló módon, hogy a teljes programlogikát "futtatható" döntési táblázat vagy vezérlőtábla formájában foglalja össze . A gyakorlatban több ilyen tábla is lehet, amelyek különböző szinteken működnek és gyakran kapcsolódnak egymáshoz (akár mutatókkal, akár indexértékekkel).
Végrehajtások
- Filetab , eredetileg az NCC-től származik
- DETAB / 65, 1965, ACM
- A FORTAB Randtól 1962-ben, a FORTRAN-ba való beépítésre tervezték
- A Ruby végrehajtására van használva MapReduce hogy megtalálják a megfelelő intézkedések alapján a konkrét input értékeket.
Lásd még
- Döntési fák
- Esetalapú érvelés
- Ok-okozati grafikon
- Dominancia alapú durva halmaz megközelítés
- DRAKON
- Karnaugh-Veitch diagram
- Sokra értékelt logika
- Szemantikus döntési táblázat
Hivatkozások
További irodalom
- Dwyer, B. és Hutchings, K. (1977) "Folyamatábra-optimalizálás Cope-ban, többválasztásos döntési táblázat" Aust. Comp. J. Vol. 9 3. szám o. 92 (1977. szept.).
- Fisher, DL (1966) "Adatok, dokumentáció és döntési táblázatok" Comm ACM Vol. 9 1. szám (1966. jan.) P. 26–31.
- General Electric Company (1962) GE-225 TABSOL referencia kézikönyv és GF-224 TABSOL használati útmutató CPB-l47B (1962 június).
- Grindley, CBB (1968) "A döntési táblázatok használata a szisztematikában" Comp. J. Vol. 11 2. szám o. 128. (1968. augusztus).
- Jackson, MA (1975) Program Design Principles of Academic Press
- Myers, HJ (1972) "Optimalizált kód összeállítása a döntési táblázatokból" IBM J. Res. & Fejlesztés (1972. szept.) P. 489–503.
- Pollack, SL (1962) "DETAB-X: továbbfejlesztett üzleti orientált számítógépes nyelv" Rand Corp. Memo RM-3273-PR (1962 augusztus)
- Schumacher, H. és Sevcik, KC (1976) "A döntési táblázat átalakításának szintetikus megközelítése", Comm. ACM Vol. 19 6. szám (1976. június) p. 343–351
- CSA, (1970): Z243.1–1970 a Canadian Standards Association döntési táblázataihoz
- Jorgensen, Paul C. (2009) Szoftver-viselkedés modellezése: kézműves megközelítés. Auerbach Publications, CRC Press. 5. fejezet
Külső linkek
- RapidGen szoftver A döntéstábla alapú programozási eszközök és fordítók Windows, Unix, Linux és OpenVMS verzióihoz
- LogicGem szoftver Windows döntéstábla-processzorhoz a logika és az üzleti szabályok tökéletesítéséhez