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

редактировать
Golf dataset.png

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

Содержание
  • 1 Обзор
  • 2 Пример
  • 3 Преимущества программной инженерии
  • 4 История
  • 5 Таблицы решений, встроенные в программу
  • 6 Управляющие таблицы
  • 7 Реализации
  • 8 См. также
  • 9 Ссылки
  • 10 Дополнительная литература
  • 11 Внешние ссылки
Обзор

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

Чтобы сделать их более краткими, многие таблицы решений включают в свои альтернативные условия символ безразлично. Это может быть дефис или пробел, хотя использование пробела не рекомендуется, поскольку оно может просто указывать на то, что таблица решений не завершена. Одно из применений таблиц принятия решений - выявить условия, при которых определенные входные факторы не имеют отношения к предпринимаемым действиям, что позволяет пропустить эти входные тесты и тем самым упростить процедуры принятия решений.

Демонстрация символа безразличия
Правила
СостоянияЧувствуете себя энергичным?ДаNoДаНет
Идет дождь?ДаДаNoНет
ДействияОставайтесь внутри.Может быть Может быть
Бегите.Может быть
Ухаживайте за садом.Может быть Может быть
Правила
УсловияЧувствуете себя энергичным ?ДаНет
Идет дождь?ДаNoНет
ДействияОставайтесь внутри.Может быть
Бегите.Может быть
Ухаживайте за садом.Может быть Может быть
В приведенных выше таблицах содержится идентичная информация, но во второй таблице для краткости используется дефис в качестве символа безразличия.

Помимо базовой четырехквадрантной структуры, таблицы решений сильно различаются по способу представления альтернативных условий и записей действий. В некоторых таблицах решений используются простые значения истина / ложь для представления альтернатив условию (аналогично if-then-else), другие таблицы могут использовать нумерованные альтернативы (аналогично switch-case), а некоторые таблицы даже используют нечеткую логику или вероятностные представления. для альтернативных условий. Аналогичным образом записи действий могут просто представлять, должно ли действие быть выполнено (отметьте действия, которые необходимо выполнить), или в более сложных таблицах решений, последовательность действий, которые необходимо выполнить (нумеровать действия, которые необходимо выполнить).

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

Пример

Таблица решений с ограниченным входом является наиболее простой для описания. Альтернативы условий - это простые логические значения, а записи действий - это галочки, обозначающие, какие из действий в данном столбце должны быть выполнены.

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

Ниже приводится таблица сбалансированных решений (созданная Systems Made Simple).

Средство устранения неполадок принтера
Правила
УсловияПринтер печатаетNoNoNoNoДаДаДаДа
A мигает красный светДаДаNoNoДаДаNoНет
Принтер распознается компьютеромNoДаNoДаNoДаNoДа
ДействияПроверьте кабель питанияМожет быть
Проверьте кабель принтера и компьютераМожет быть Может быть
Убедитесь, что программное обеспечение принтера установленоМожет быть Может быть Может быть Может быть
Проверьте / замените чернилаМожет быть Может быть Может быть
Проверьте наличие застревание бумагиМожет быть Может быть

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

Преимущества программной инженерии

Таблицы решений, особенно в сочетании с использованием предметно-ориентированного языка, позволяют разработчикам и экспертам по политике работать с одной и той же информацией, сами таблицы решений.

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

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

История

В 1960-х и 1970-х годах был популярен ряд языков, основанных на таблицах решений, таких как Filetab для делового программирования.

Таблицы решений, встроенные в программу.

Таблицы решений могут быть и часто встраиваются в компьютерные программы и используются для «управления» логикой программы. Простым примером может быть таблица поиска , содержащая диапазон возможных входных значений и указатель функции на раздел кода для обработки этого ввода.

Статическая таблица решений
ВходУказатель функции
"1"Функция 1 (инициализация)
"2"Функция 2 ( процесс 2)
"9"Функция 9 (завершение)
Управляющие таблицы

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

Реализации
  • Filetab, первоначально из NCC
  • DETAB / 65, 1965, ACM
  • FORTAB от Rand в 1962 году, спроектированные для встраивания в FORTRAN
  • A Реализация Ruby существует с использованием MapReduce для поиска правильных действий на основе определенных входных значений.
См. Также
Ссылки
Дополнительная литература
  • Dwyer, Б. и Хатчингс, К. (1977) "Оптимизация блок-схем в Cope, таблица решений с множественным выбором" Aust. Комп. J. Vol. 9 № 3 стр. 92 (сентябрь 1977 г.).
  • Фишер, Д.Л. (1966) "Данные, документация и таблицы решений" Comm ACM Vol. 9 № 1 (январь 1966 г.) с. 26–31.
  • General Electric Company (1962) Справочное руководство GE-225 TABSOL и руководство по применению GF-224 TABSOL CPB-l47B (июнь 1962 г.).
  • Grindley, C.B.B. (1968) "Использование таблиц решений в систематике" Comp. J. Vol. 11 № 2 стр. 128 (август 1968 г.)
  • Джексон, М.А. (1975) Принципы разработки программ Academic Press
  • Майерс, Х.Дж. (1972) «Компиляция оптимизированного кода из таблиц решений» IBM J. Res. Development (сентябрь 1972 г.) стр. 489–503.
  • Поллак, С.Л. (1962) «DETAB-X: улучшенный бизнес-ориентированный компьютерный язык» Rand Corp. Memo RM-3273-PR (август 1962)
  • Шумахер, Х. и Севчик, К. (1976) "Синтетический подход к преобразованию таблицы решений" Comm. ACM Vol. 19 № 6 (июнь 1976 г.) с. 343–351
  • CSA, (1970): Z243.1–1970 для таблиц решений, Канадская ассоциация стандартов
  • Йоргенсен, Пол К. (2009) Моделирование поведения программного обеспечения: подход мастера. Публикации Ауэрбаха, CRC Press. Глава 5.
Внешние ссылки
Последняя правка сделана 2021-05-17 10:50:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте