Бинарное решение
Бинарное решение — это выбор между двумя альтернативами, например, между выполнением какого-то конкретного действия или его отказом. [1]
Бинарные решения являются основой для многих областей. Примеры включают в себя:
- Истинные значения в математической логике и соответствующий логический тип данных в информатике, представляющий значение, которое может быть выбрано как истинное или ложное. [2]
- Условные операторы (если-то или если-то-иначе) в информатике, двоичные решения о том, какой фрагмент кода выполнять следующим. [3]
- Деревья решений и диаграммы бинарных решений , представления последовательностей бинарных решений. [4]
- Бинарный выбор — статистическая модель результата бинарного решения. [5]
Бинарные диаграммы решений
[ редактировать ]Диаграмма двоичных решений (BDD) — это способ визуального представления логической функции. Одним из применений BDD является программное обеспечение САПР и анализ цифровых схем, где они являются эффективным способом представления и управления логическими функциями. [6]
Значение логической функции можно определить, следуя по пути в ее BDD до терминала, принимая двоичное решение в каждом узле, где следует сплошная линия, если значение переменной в узле истинно, и пунктирная линия, если это ложь. BDD называется «упорядоченным», если порядок проверяемых переменных фиксирован. BDD называется «сокращенным», если выполняются два следующих условия:
- Каждый преемник каждого узла индивидуален.
- Не существует двух различных узлов одной и той же переменной с одинаковыми преемниками. [7] [8]
Упорядоченные и сокращенные BDD можно назвать сокращенными упорядоченными двоичными диаграммами решений (ROBDD). Примером ROBDD является рисунок справа, который представляет функцию . Порядок переменных на любом пути всегда , , затем , все узлы имеют разных преемников, и не существует двух узлов с одной и той же переменной и одинаковых преемников.
Условные операторы
[ редактировать ]В информатике условные операторы используются для принятия двоичных решений. [9] Программа может выполнять различные вычисления или действия в зависимости от того, истинно или ложно определенное логическое значение.
Конструкция if-then-else представляет собой оператор потока управления , который запускает один из двух блоков кода в зависимости от значения логического выражения, и ее структура выглядит следующим образом:
if condition then code block 1 else code block 2 end
Условное выражение condition
, и если это правда, то code block 1
выполняется, иначе code block 2
выполняется. Также возможно объединить несколько условий с помощью конструкции else-if:
if condition 1 then code block 1 else if condition 2 then code block 2 else code block 3 end
Это можно представить с помощью блок-схемы справа. Если одно условие оказывается истинным, остальные пропускаются, поэтому может быть выполнен только один из трех приведенных выше блоков кода .
Цикл while — это оператор потока управления, который многократно выполняет блок кода до тех пор, пока его логическое выражение не станет ложным, принимая решение о том, продолжать ли повторение перед каждым циклом. Это похоже на конструкцию if-then, но позволяет выполнять блок кода несколько раз.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Сноу, Роберта М.; Филлипс, Пол Х. (2007), «Принятие критических решений: практическое руководство для некоммерческих организаций» , John Wiley & Sons, стр. 44, ISBN 978-0-470-18503-2 .
- ^ Диксит, Дж.Б. (2009), Основы компьютера и программирование на C , Firewall Media, стр. 61, ISBN 978-81-7008-882-0 .
- ^ Юрдон, Эдвард (19 марта 1975 г.), «Ясное мышление жизненно важно: вложенные IF не являются злым заговором, ведущим к программным ошибкам» , Computerworld : 15 .
- ^ Кларк, EM; Грумберг, Орна ; Пелед, Дорон (1999), Проверка модели , MIT Press, стр. 51, ISBN 978-0-262-03270-4 .
- ^ Бен-Акива, Моше Э.; Лерман, Стивен Р. (1985), Анализ дискретного выбора: теория и применение к спросу на поездки , Транспортные исследования, том. 9, MIT Press, с. 59, ISBN 978-0-262-02217-0 .
- ^ Кукрея, Джьоти. «Применение двоичной диаграммы решений в анализе цифровых цепей» (PDF) . Университет Южной Калифорнии . S2CID 13980719 . Архивировано из оригинала (PDF) 28 сентября 2003 г.
- ^ Пфеннинг, Фрэнк (28 октября 2010 г.). «Конспекты лекций по двоичным диаграммам решений» (PDF) . Школа компьютерных наук Карнеги-Меллона . Архивировано (PDF) из оригинала 9 марта 2014 г. Проверено 26 мая 2020 г.
- ^ «Бинарные диаграммы решений» (PDF) . Деп. Компьютерные науки – Университет Вероны . Архивировано (PDF) из оригинала 18 апреля 2016 г. Проверено 26 мая 2020 г.
- ^ «Программирование — Условные обозначения» . www.cs.utah.edu . Проверено 26 мая 2020 г.