Таблица решений
Таблицы решений — это краткое визуальное представление, позволяющее указать, какие действия следует выполнять в зависимости от заданных условий. Таблица решений — это термин, используемый для обозначения управляющей таблицы или таблицы перехода состояний в области моделирования бизнес-процессов ; они обычно форматируются как транспонирование того, как они форматируются в разработке программного обеспечения .
Обзор
[ редактировать ]Каждое решение соответствует переменной, отношению или предикату, возможные значения которого перечислены среди альтернатив условий. Каждое действие представляет собой процедуру или операцию, которую необходимо выполнить, а записи указывают, должно ли (или в каком порядке) выполняться действие для набора альтернатив условий, которым соответствует запись.
Чтобы сделать их более краткими, многие таблицы решений включают в альтернативные условия символ «безразлично» . Это может быть дефис [1] [2] [3] или пустой, [4] хотя использование пробела не рекомендуется, поскольку это может просто указывать на то, что таблица решений еще не завершена. [ нужна ссылка ] Одним из применений таблиц решений является выявление условий, при которых определенные входные факторы не имеют значения для предпринимаемых действий, что позволяет пропустить эти входные тесты и тем самым упростить процедуры принятия решений. [5]
Помимо базовой четырехквадрантной структуры, таблицы решений сильно различаются по способу представления альтернативных условий и записей действий. [6] [7] В некоторых таблицах решений используются простые значения true/false для представления альтернатив условию (аналогично if-then-else), в других таблицах могут использоваться пронумерованные альтернативы (аналогично переключателю), а в некоторых таблицах даже используется нечеткая логика или вероятностные представления. для альтернативных условий. [8] Аналогичным образом записи действий могут просто обозначать, должно ли выполняться действие (проверить действия, которые необходимо выполнить), или в более сложных таблицах решений — последовательность действий, которые необходимо выполнить (нумеровать действия, которые необходимо выполнить).
Таблица решений считается сбалансированной. [4] или полный [3] если он включает в себя все возможные комбинации входных переменных. Другими словами, сбалансированные таблицы решений предписывают действие в каждой ситуации, когда заданы входные переменные. [4]
Пример
[ редактировать ]Таблицу решений с ограниченным входом описать проще всего. Альтернативные условия — это простые логические значения, а записи действий — это галочки, указывающие, какое из действий в данном столбце должно быть выполнено.
Следующая таблица сбалансированных решений представляет собой пример, в котором компания технической поддержки составляет таблицу решений, позволяющую сотрудникам службы технической поддержки эффективно диагностировать проблемы принтера на основе симптомов, описанных им по телефону от клиентов.
Правила | |||||||||
---|---|---|---|---|---|---|---|---|---|
Условия | Принтер печатает | Нет | Нет | Нет | Нет | Да | Да | Да | Да |
Красный свет мигает | Да | Да | Нет | Нет | Да | Да | Нет | Нет | |
Принтер распознается компьютером | Нет | Да | Нет | Да | Нет | Да | Нет | Да | |
Действия | Проверьте кабель питания | — | |||||||
Проверьте кабель принтер-компьютер | — | ||||||||
Убедитесь, что программное обеспечение принтера установлено. | — | ||||||||
Проверьте/замените чернила | — | ||||||||
Проверьте, нет ли замятия бумаги | — |
Это всего лишь простой пример, и он не обязательно соответствует реальности устранения неполадок принтера. Тем не менее, он демонстрирует, как таблицы решений могут масштабироваться для нескольких условий с множеством возможностей.
Преимущества разработки программного обеспечения
[ редактировать ]Таблицы решений, особенно в сочетании с использованием предметно-ориентированного языка , позволяют разработчикам и экспертам по политике работать с одной и той же информацией — самими таблицами решений.
Инструменты для отображения вложенных операторов if из традиционных языков программирования в таблицы решений также можно использовать в качестве инструмента отладки. [9] [10]
Таблицы решений оказались более простыми для понимания и анализа, чем код, и они широко и успешно использовались для разработки спецификаций для сложных систем. [11]
История
[ редактировать ]В 1960-х и 1970-х годах для бизнес-программирования был популярен ряд языков, основанных на таблицах решений, таких как Filetab .
Встроенные таблицы решений программы
[ редактировать ]Таблицы решений могут быть и часто встроены в компьютерные программы и используются для «управления» логикой программы. Простым примером может быть таблица поиска, содержащая диапазон возможных входных значений и указатель функции на раздел кода для обработки этого ввода.
Вход | Указатель функции |
---|---|
"1" | Функция 1 (инициализация) |
"2" | Функция 2 (процесс 2) |
"9" | Функция 9 (завершить) |
Контрольные таблицы
[ редактировать ]Несколько условий могут быть закодированы аналогичным образом, чтобы инкапсулировать всю логику программы в форме «исполняемой» таблицы решений или таблицы управления . На практике таких таблиц может быть несколько, работающих на разных уровнях и часто связанных друг с другом (либо указателями, либо значением индекса).
Реализации
[ редактировать ]- Filetab , родом из NCC
- ДЕТАБ/65, 1965, АКМ
- FORTAB от Рэнда в 1962 году, предназначенный для встраивания в FORTRAN. [12]
- MapReduce для Существует реализация Ruby, использующая поиска правильных действий на основе определенных входных значений. [13]
См. также
[ редактировать ]- Деревья решений
- Рассуждения, основанные на прецедентах
- График причинно-следственных связей
- Грубый подход, основанный на доминировании
- DRAKON
- Диаграмма Карно-Вейча
- Многозначная логика
- Таблица семантических решений
- Модель принятия решения и обозначения
- Таблица истинности
Ссылки
[ редактировать ]- ^ Ли Цзин (1 апреля 2015 г.). «Учебное пособие по SEEM 3430: Таблицы решений» (PDF) . п. 23 . Проверено 11 ноября 2017 г.
- ^ «Создание таблицы решений в бизнес-правилах» . Справочный центр Oracle . 6 августа 2017 года . Проверено 11 ноября 2017 г.
- ^ Перейти обратно: а б Росс, Рональд Г. (2005). «Таблицы решений, часть 2 ~ Путь к полноте» . Журнал бизнес-правил . 6 (8) . Проверено 11 ноября 2017 г.
- ^ Перейти обратно: а б с Сноу, Пол (19 июля 2012 г.). «Таблицы решений» . DTRules: механизм правил таблицы решений на основе Java . Проверено 11 ноября 2017 г.
- ^ Ли Цзин 2015 , стр. 24-25.
- ^ Роджерс, Уильям Т. «Примеры таблиц решений: медицинское страхование» . Системный анализ и проектирование Университета Святого Ксаверия . Архивировано из оригинала 29 марта 2007 года.
- ^ «Таблицы решений» . Архивировано из оригинала 8 сентября 2012 г. Проверено 7 июля 2010 г.
- ^ Ветс, Герт; Витлокс, Фрэнк; Тиммерманс, Гарри; Вантиенен, Ян (1996). «Моделирование выбора местоположения с использованием нечетких таблиц решений» . Новые рубежи в нечеткой логике и вычислениях: проводимая раз в два года конференция Североамериканского общества обработки нечеткой информации – NAFIPS . Двухгодичная конференция Североамериканского общества обработки нечеткой информации. Беркли, Калифорния: IEEE. стр. 80–84. дои : 10.1109/НАФИПС.1996.534708 . ISBN 0-7803-3225-3 . S2CID 62056954 .
- ^ "Настоящий пример CCIDE"
- ^ «Опыт работы с процессором таблицы решений Cope» . Архивировано из оригинала 4 мая 2017 г. Проверено 7 июля 2010 г.
- ^ Удо В. Пуч, «Перевод таблиц решений», ACM Computing Surveys, том 6, выпуск 2 (июнь 1974 г.) Страницы: 125–151 ISSN 0360-0300
- ^ «FORTAB: язык таблиц решений для приложений научных вычислений» , 1962, Рэнд
- ^ Александр Уильямс (2015). «Парсер таблицы решений Ruby»
Дальнейшее чтение
[ редактировать ]- Дуайер Б. и Хатчингс К. (1977) «Оптимизация блок-схемы в Cope, таблица решений с множественным выбором» Aust. Комп. Дж. Том. 9 № 3 с. 92 (сентябрь 1977 г.).
- Фишер, Д.Л. (1966) «Данные, документация и таблицы решений», Comm ACM Vol. 9 № 1 (январь 1966 г.) с. 26–31.
- General Electric Company (1962 г.) Справочное руководство GE-225 TABSOL и руководство по применению GF-224 TABSOL CPB-147B (июнь 1962 г.).
- Гриндли, CBB (1968) «Использование таблиц решений в систематике», Comp. Дж. Том. 11 № 2 с. 128 (август 1968 г.).
- Джексон, Массачусетс (1975) Принципы разработки программ Academic Press
- Майерс, HJ (1972) «Компиляция оптимизированного кода из таблиц решений» IBM J. Res. И развитие (сентябрь 1972 г.), с. 489–503.
- Поллак, С.Л. (1962) «DETAB-X: улучшенный бизнес-ориентированный компьютерный язык» Rand Corp. Memo RM-3273-PR (август 1962 г.)
- Шумахер, Х. и Севчик, К.К. (1976) «Синтетический подход к преобразованию таблицы решений», Comm. АСМ Том. 19 № 6 (июнь 1976 г.) с. 343–351
- CSA, (1970): Z243.1–1970 для таблиц решений, Канадская ассоциация стандартов.
- Йоргенсен, Пол К. (2009) Моделирование поведения программного обеспечения: подход мастера. Публикации Ауэрбаха, CRC Press. Глава 5.
Внешние ссылки
[ редактировать ]- Программное обеспечение RapidGen для версий инструментов и компиляторов программирования на основе таблиц решений для Windows, Unix, Linux и OpenVMS.
- Программное обеспечение LogicGem для процессора таблиц решений Windows для совершенствования логики и бизнес-правил
- [1] Пример таблицы решений