stringtranslate.com

Таблица решений

Таблицы решений — это краткое визуальное представление, позволяющее указать, какие действия следует выполнять в зависимости от заданных условий. Это алгоритмы , выходные данные которых представляют собой набор действий. Информация, выраженная в таблицах решений, также может быть представлена ​​в виде деревьев решений или на языке программирования как серия операторов if-then-else и switch-case .

Обзор

Каждое решение соответствует переменной, отношению или предикату, возможные значения которого перечислены среди альтернатив условий. Каждое действие представляет собой процедуру или операцию, которую необходимо выполнить, а записи указывают, должно ли (и в каком порядке) выполняться действие для набора альтернатив условий, которым соответствует запись.

Чтобы сделать их более краткими, многие таблицы решений включают в альтернативные условия символ « безразлично» . Это может быть дефис [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 апреля 2015 г.). «Учебное пособие по SEEM 3430: Таблицы решений» (PDF) . п. 23 . Проверено 11 ноября 2017 г.
  2. ^ «Создание таблицы решений в бизнес-правилах». Справочный центр Oracle . 6 августа 2017 года . Проверено 11 ноября 2017 г.
  3. ^ аб Росс, Рональд Г. (2005). «Таблицы решений, часть 2 ~ Путь к полноте». Журнал бизнес-правил . 6 (8) . Проверено 11 ноября 2017 г.
  4. ↑ abc Snow, Пол (19 июля 2012 г.). «Таблицы решений». DTRules: механизм правил таблицы решений на основе Java . Проверено 11 ноября 2017 г.
  5. ^ Ли Цзин 2015, с. 24-25.
  6. ^ Роджерс, Уильям Т. «Примеры таблиц решений: медицинское страхование». Системный анализ и проектирование Университета Святого Ксаверия . Архивировано из оригинала 29 марта 2007 года.
  7. ^ «Таблицы решений». Архивировано из оригинала 8 сентября 2012 г. Проверено 7 июля 2010 г.
  8. ^ Ветс, Герт; Витлокс, Фрэнк; Тиммерманс, Гарри; Вантиенен, Ян (1996). «Моделирование выбора местоположения с использованием нечетких таблиц решений». Новые рубежи в нечеткой логике и вычислениях: проводимая раз в два года конференция Североамериканского общества обработки нечеткой информации – NAFIPS. Двухгодичная конференция Североамериканского общества обработки нечеткой информации. Беркли, Калифорния: IEEE. стр. 80–84. дои : 10.1109/NAFIPS.1996.534708. ISBN 0-7803-3225-3. S2CID  62056954.
  9. ^ "Настоящий пример CCIDE"
  10. ^ «Опыт работы с процессором таблицы решений Cope» . Архивировано из оригинала 4 мая 2017 г. Проверено 7 июля 2010 г.
  11. ^ Удо В. Пуч, «Перевод таблиц решений», ACM Computing Surveys, том 6, выпуск 2 (июнь 1974 г.) Страницы: 125–151 ISSN  0360-0300
  12. ^ «FORTAB: язык таблиц решений для приложений научных вычислений», 1962, Рэнд
  13. ^ Александр Уильямс (2015). «Парсер таблицы решений Ruby»

дальнейшее чтение

Внешние ссылки