Упорядоченные бинарные диаграммы решений
[20/100%]Доказать, что всякую булеву функцию от переменных можно реализовать в виде УБДР с не более чем внутренней вершиной. Указание. Показать, как преобразовать полное БДР.
Рассмотрим трёхместные булевы функции , зафиксируем порядок переменных . Определить:
Рис. 20: УБДР \mathfrak {D}_{1}.
наибольшее количество вершин в сокращённой УБДР для ;
сколько существует функций с наибольшим количеством вершин в сокращённой УБДР.
Указать, как по УБДР для функции построить УБДР для двойственной функции .
Схемы из функциональных элементов естественным образом реализуются в виде линейных программ. Наоборот, для деревьев решений и УБДР естественным программным представлением являются ветвящиеся программы, включающие лишь условные операторы вида if then else и присваивания и (см. раздел 22). Они соответствуют внутренним вершинам диаграмм и стокам соответственно. Здесь и — это снова ветвящиеся программы, а переменная содержит результат.
Показать, как по УБДР построить ветвящуюся программу, вычисляющую ту же самую функцию.
Написать ветвящиеся программы, вычисляющие функции, представляемые УБДР на рис. 20 и на рис. 22 на стр. 125.
Доказать, что каждую УБДР можно представить в виде ациклической программы с метками П (см. раздел 22) и при этом длина П не превосходит количества вершин . Программа П ациклическая, если все метки программы П пронумерованы и в каждом операторе метка оператора имеет номер меньший, чем метки перехода (это эквивалентно тому, что в блок-схеме нет циклов. Также можно сказать, что невозможны переходы «назад»). Присваивания имеют такой же вид, как в предыдущей задаче.
Доказать, что по любой УБДР с вершинами, представляющей функцию , можно построить линейную программу (и, следовательно, схему из функциональных элементов) размера в базисе , вычисляющую ту же самую функцию . Указание. Использовать индукцию по высоте вершин. Высота вершины в УБДР — это максимальная длина пути из в какой-либо из стоков.
Построить минимальные УБДР для двухместных функций: , .
Построить УБДР для функции и оценить её сложность. Сравнить со сложностью ДНФ этой же функции из задачи 170 на стр. 54.
Построить минимальные УБДР для функции
относительно двух упорядочений переменных:
и
.
Используя алгоритм сокращения УБДР, построить сокращённую диаграмму, эквивалентную УБДР на рис. 21 на следующей странице. Определить, какую функцию реализует полученная схема. Построить её таблицу истинности.
Рис. 21: УБДР \mathfrak {D}_{2}.
Пусть — это совершенная ДНФ для булевой функции . Доказать, что существует УБДР для функции , количество внутренних вершин которой не превосходит длины независимо от порядка переменных. Под длиной понимаем общее количество вхождений переменных в . Указание. Применить индукцию по количеству переменных .
Доказать, что для функции
сложность сокращённой УБДР равна
при упорядочении переменных ;
при упорядочении .
Пусть функция получена из функции фиксированием значения переменной :
где .
Предположим, что — это сокращённая УБДР для функции при указанном порядке переменных. Предложить процедуру, которая перестроит УБДР в УБДР для функции при том же порядке. Всегда ли полученная УБДР будет сокращённой?
Применить процедуру из пункта (а) для получения из УБДР на рис. 22 на противоположной странице диаграмм для следующих функций: .
Пороговая функция определена в задаче 406 на стр. 118.
Построить УБДР для пороговой функции в общем виде.
Построить минимальную УБДР для пороговой функции .
Рис. 22: УБДР \mathfrak {D}_{3}.
Зависит ли сложность минимальной УБДР для пороговых функций от порядка переменных?
Оценить сложность минимальной УБДР для пороговой функции .
Построить минимальные УБДР, реализующие функции из задач 396, 402 и 403.
Построить УБДР для функций и из задачи 406 на стр. 118 и оценить их сложность.
Построить УБДР для решения задачи 407 на стр. 119. Определить сложность построенной диаграммы.
Построить УБДР для решения задачи 408 на стр. 119. Определить сложность построенной диаграммы.
Построить УБДР для решения задачи 409 на стр. 119. Определить сложность построенной диаграммы.
Построить УБДР для решения задачи 410 на стр. 119. Определить сложность построенной диаграммы.