Бинарное решение - Binary decision - Wikipedia

А двоичное решение это выбор между двумя альтернативами, например, между тем, чтобы предпринять какое-то конкретное действие или не предпринимать его.[1]

Бинарные решения являются основой многих областей. Примеры включают:

Диаграммы двоичных решений

А диаграмма двоичных решений (BDD) - это способ визуального представления логической функции. Одно из применений BDD - это программное обеспечение САПР и анализ цифровых схем, где они являются эффективным способом представления логических функций и управления ими.[6]

Диаграмма двоичного решения уменьшенного порядка для f
Уменьшенная упорядоченная двоичная решающая диаграмма для логической функции

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

  • Каждый преемник каждого узла отличается.
  • Не существует двух различных узлов одной и той же переменной с одинаковыми преемниками.[7][8]

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

Условные утверждения

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

В если-то-еще конструкция - это оператор потока управления который запускает один из двух блоков кода в зависимости от значения логического выражения, а его структура выглядит так:

если условие то кодовый блок 1 другой кодовый блок 2 конец
Блок-схема, иллюстрирующая использование иначе если

Условное выражение условие, и если это правда, то кодовый блок 1 выполняется, иначе кодовый блок 2 выполняется. Также можно комбинировать несколько условий с конструкцией else-if:

если условие 1, то кодовый блок 1, иначе, если условие 2, то кодовый блок 2, иначе кодовый блок 3, конец

Это можно представить на блок-схеме справа. Если одно условие выполняется, остальные пропускаются, поэтому только одно из трех блоки кода выше может быть выполнено.

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

Смотрите также

Рекомендации

  1. ^ Сноу, Роберта М .; Филлипс, Пол Х. (2007), Принятие критических решений: практическое руководство для некоммерческих организаций, John Wiley & Sons, стр. 44, ISBN  9780470185032.
  2. ^ Диксит, Дж. Б. (2009), Основы работы с компьютером и программирование на C, Носитель межсетевого экрана, стр. 61, ISBN  9788170088820.
  3. ^ Юрдон, Эдвард (19 марта 1975 г.), «Ясное мышление жизненно необходимо: вложенные IF - это не злой заговор, ведущий к программным ошибкам», Computerworld: 15.
  4. ^ Clarke, E.M .; Грумберг, Орна; Пелед, Дорон (1999), Проверка модели, MIT Press, стр. 51, ISBN  9780262032704.
  5. ^ Бен-Акива, Моше Э .; Лерман, Стивен Р. (1985), Анализ дискретного выбора: теория и применение к спросу на поездки, Транспортные исследования, 9, MIT Press, стр. 59, ISBN  9780262022170.
  6. ^ Кукреджа, Джоти. «Применение двоичной решающей диаграммы в анализе цифровых схем». S2CID  13980719. Цитировать журнал требует | журнал = (помощь)
  7. ^ Пфеннинг, Франк (28 октября 2010 г.). «Конспект лекций по бинарным диаграммам решений» (PDF). Школа компьютерных наук Карнеги-Меллона. Получено 26 мая 2020.
  8. ^ «Диаграммы двоичных решений» (PDF). Деп. Компьютерные науки - Веронский университет. Получено 26 мая 2020.
  9. ^ «Программирование - Условные выражения». www.cs.utah.edu. Получено 2020-05-26.