Бинарное решение — это выбор между двумя альтернативами, например, между выполнением определенного действия или невыполнением его. [1]
Бинарные решения являются базовыми для многих областей. Примеры включают:
Двоичная диаграмма решений (BDD) — это способ визуального представления булевой функции. Одно из применений BDD — в программном обеспечении САПР и анализе цифровых цепей, где они являются эффективным способом представления и манипулирования булевыми функциями. [6]
Значение булевой функции можно определить, пройдя по пути в ее BDD до терминала, принимая бинарное решение в каждом узле, где сплошная линия следует, если значение переменной в узле истинно, и пунктирная линия, если оно ложно. BDD называется «упорядоченной», если порядок проверяемых переменных фиксирован. BDD называется «редуцированной», если выполняются два следующих условия:
BDD, которые упорядочены и сокращены, можно назвать сокращенными упорядоченными бинарными диаграммами решений (ROBDD). Примером ROBDD является рисунок справа, который представляет функцию . Порядок переменных вдоль любого пути всегда , , тогда , все узлы имеют различных последователей, и нет двух узлов с одной и той же переменной и одинаковыми последователями.
В информатике условные операторы используются для принятия бинарных решений. [9] Программа может выполнять различные вычисления или действия в зависимости от того, оценивается ли определенное логическое значение как истинное или ложное.
Конструкция if-then-else представляет собой оператор потока управления , который запускает один из двух блоков кода в зависимости от значения логического выражения, и его структура выглядит следующим образом:
если условие то блок кода 1еще блок кода 2конец
Условное выражение — condition
, и если оно истинно, то code block 1
выполняется, в противном случае code block 2
выполняется. Также возможно объединить несколько условий с конструкцией else-if:
если условие 1 то блок кода 1иначе если условие 2 тогда блок кода 2еще блок кода 3конец
Это можно представить с помощью диаграммы потока справа. Если одно условие оказывается истинным, то остальные пропускаются, поэтому может быть выполнен только один из трех блоков кода выше.
Цикл while — это оператор потока управления, который многократно выполняет блок кода, пока его логическое выражение не станет ложным, принимая решение о том, продолжать ли повторение перед каждым циклом. Это похоже на конструкцию if-then, но может выполнять блок кода несколько раз.