Döntési táblázat - Decision table

Golf dataset.png

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 „nem érdekel” szimbólum bemutatása
Szabályok
Körülmények Energikusnak érzi magát? Igen Nem Igen Nem
Esik? Igen Igen Nem Nem
Műveletek Maradj bent. Talán Talán
Futni menni. Talán
Gondoskodjon a kertről. Talán Talán
Szabályok
Körülmények Energikusnak érzi magát? - Igen Nem
Esik? Igen Nem Nem
Műveletek Maradj bent. Talán
Futni menni. Talán
Gondoskodjon a kertről. Talán Talán
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ó .

A nyomtató hibaelhárítója
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 Talán -
Ellenőrizze a nyomtató-számítógép kábelt Talán Talán -
Győződjön meg arról, hogy a nyomtatószoftver telepítve van Talán Talán Talán Talán -
Ellenőrizze / cserélje a tintát Talán Talán Talán -
Ellenőrizze, hogy nincs-e papírelakadás Talán Talán -

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.

Statikus döntési táblázat
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

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