Схемы из функциональных элементов
[25/100%]Доказать, что минимальная схема для сложения по модулю два имеет сложность в базисе . Указание. Доказать это утверждение для функций и одновременно.
Определить, какую булеву функцию реализует схема на рис. 15 на следующей странице в вершине ? Можно ли для этой функции построить менее сложную схему?
Рис. 15: Схема \mathfrak {S} из задачи 387.
Определить, какую булеву функцию реализует схема на рис. 16 на следующей странице в вершине ? Можно ли для этой функции построить менее сложную схему? Построить линейную программу, вычисляющую ту же функцию.
Рис. 16: Схема \mathfrak {S} из задачи 388.
Доказать, что в базисе всякую булеву функцию можно вычислить с помощью линейной программы, где присваивание выполняется не более чем трём переменным. Можно ли уменьшить это количество до двух?
Доказать, что в предыдущей задаче количество изменяемых переменных нельзя уменьшить до одной. Указание. Рассмотреть функцию .
Задана схема из функциональных элементов (рис.17) и три линейных программы (рис. 18). Определить, какие из программ вычисляют в переменной ту же функцию , что и схема в вершине ?
Рис. 17: Схема \mathfrak {S} из задачи 391.
| : Рис. 18: Программы из задачи 391. |
Рис. 19: Линейная программа из задачи 392.
Пусть задана линейная программа П с входными переменными (рис.19). Построить схему из функциональных элементов со входами и функциональными вершинами, соответствующими присваиваниям П, вычисляющую ту же функцию, что и П в выходной переменной . Чему равна её глубина? Можно ли для вычисления той же функции построить более короткие схему и линейную программу?
Пусть базис позволяет получить константу 0, а программа в базисе кроме входных переменных содержит , в каждой из которых вычисляется функция соответственно. Доказать, что тогда можно эффективно построить схему в базисе , содержащую в том числе вершины такие, что для .
Допустим, что функция не является константой. Доказать, что сложность функции в базисе не превосходит сложности в базисе .
Пусть — это схема -разрядного сумматора, выполняющего сложение двух -разрядных двоичных чисел, результатом которого является -разрядное число (см. [3], § 13.3). Используя схему , построить схему, реализующую операцию вычитания двух -разрядных двоичных чисел: (при условии, что ). Оценить сложность полученной схемы.
Два игрока независимо выбирают одно из четырёх чисел от 0 до 3. Первый игрок выигрывает, если их сумма является степенью двойки. Построить схему, определяющую выигрыш первого игрока. Её входы представляют в двоичной записи число, выбранное первым игроком, а — число, выбранное вторым игроком.
Построить схему для сравнения двух -значных чисел, представленных в двоичном виде. Схема должна иметь входы и для исходных чисел и три выхода результата: больше, меньше или равно.
Показать, что схему для вычисления -местной функции odd (задача 170 на стр.54) можно реализовать в базисе , используя не более отрицаний.
Пусть - -местная булева функция, которая реализуется схемой с отрицаниями в базисе ,
Доказать, что для любых и в последовательности значений функции существует не больше позиций, где значение 1 меняется на 0. Указание. Применить индукцию по .
Показать, что оценка из предыдущей задачи реально достижима. Указание. Индукцией по построить соответствующую функцию с аргументами.
Построить схему для умножения двух двухзначных двоичных чисел. Схема должна иметь входы и для исходных чисел и четыре выхода для разрядов результата.
Построить схему, определяющую результат голосования в комитете, состоящем из трёх членов и председателя. В случае равенства голосов голос председателя является решающим.
Построить логическую схему, определяющую результат голосования в комитете, состоящем из пяти членов, где у председателя и секретаря имеется по два голоса. То есть если это голоса «за» трёх обычных членов, председателя и секретаря соответственно, то
Определить сложность и глубину построенной схемы.
Пусть наборы аргументов булевой функции от трёх аргументов упорядочены лексикографически, а её значения задаются последовательностью из восьми нулей и единиц. Построить схемы, реализующие следующие функции:
;
;
.
Построить следующие логические схемы, определить их сложность и глубину:
, которая выполняет линейный сдвиг по команде: имеет входы и , выходы , значения равны соответственно при или при
, которая выполняет циклический сдвиг по команде: имеет входы и , выходы , значения равны соответственно при или при ;
, которая выполняет подсчёт количества единиц: имеет входы , выходы , значение равно единице тогда и только тогда, когда среди имеется ровно единиц.
Используя схемы из предыдущей задачи, построить логические схемы, реализующие следующие функции:
пороговая функция
Определить сложность и глубину построенных схем.
Пусть ориентированный граф без петель задан матрицей смежности размера . Построить схему из функциональных элементов, которая по шести переменным , определяет, является ли граф сильно связным. Определить сложность и глубину построенной схемы.
Пусть неориентированный граф без петель задан матрицей смежности размера . Построить схему из функциональных элементов, которая по шести переменным , определяет, является ли граф двудольным. Определить сложность и глубину построенной схемы.
Пусть для слова из четырёх букв переменная означает, что -я буква в является гласной. Построить схему из функциональных элементов, которая по четырём переменным , определяет, что в слове нет подряд идущих ни двух гласных, ни трёх согласных. Определить сложность и глубину построенной схемы.
С помощью переменных закодировано четырёхразрядное двоичное число. Построить схему из функциональных элементов, которая по переменным , определяет, является ли это число простым.