16

Схемы из функциональных элементов

[25/100%]
Показать
LaTeX
Задача 386

Доказать, что минимальная схема для сложения по модулю два имеет сложность L(⊕)=4L(\oplus )=4 в базисе B0\mathcal{B}_{0}. Указание. Доказать это утверждение для функций x1⊕x2x_{1} \oplus x_{2} и x1↔x2x_{1} \leftrightarrow x_{2} одновременно.

?
Задача 387

Определить, какую булеву функцию реализует схема S\mathfrak {S} на рис. 15 на следующей странице в вершине vv? Можно ли для этой функции построить менее сложную схему?

Рис. 15: Схема \mathfrak {S} из задачи 387.Рис. 15: Схема \mathfrak {S} из задачи 387.

?
Задача 388

Определить, какую булеву функцию реализует схема S\mathfrak {S} на рис. 16 на следующей странице в вершине vv? Можно ли для этой функции построить менее сложную схему? Построить линейную программу, вычисляющую ту же функцию.

Рис. 16: Схема \mathfrak {S} из задачи 388.Рис. 16: Схема \mathfrak {S} из задачи 388.

u←x∧uu \leftarrow x \wedge uf←¬yf \leftarrow \neg yy←¬yy \leftarrow \neg y
u←¬uu \leftarrow \neg ug←¬zg \leftarrow \neg zz←¬zz \leftarrow \neg z
y←¬yy \leftarrow \neg ye←x∧ue \leftarrow x \wedge uz←y∧zz \leftarrow y \wedge z
z←¬zz \leftarrow \neg zk←¬ek \leftarrow \neg ez←z∧uz \leftarrow z \wedge u
y←y∧zy \leftarrow y \wedge zh←f∧gh \leftarrow f \wedge gu←x∧uu \leftarrow x \wedge u
z←y∧uz \leftarrow y \wedge ui←h∧ui \leftarrow h \wedge uu←¬uu \leftarrow \neg u
z←u∨zz \leftarrow u \vee zz←h∨kz \leftarrow h \vee kz←z∨uz \leftarrow z \vee u
: Рис. 18: Программы из задачи 391.
?
Задача 389

Доказать, что в базисе B0\mathcal{B}_{0} всякую булеву функцию ff можно вычислить с помощью линейной программы, где присваивание выполняется не более чем трём переменным. Можно ли уменьшить это количество до двух?

?
Задача 390

Доказать, что в предыдущей задаче количество изменяемых переменных нельзя уменьшить до одной. Указание. Рассмотреть функцию x1⊕x2x_{1} \oplus x_{2}.

?
Задача 391

Задана схема S\mathfrak {S} из функциональных элементов (рис.17) и три линейных программы (рис. 18). Определить, какие из программ вычисляют в переменной zz ту же функцию f(x,y,z,u)f(x, y, z, u), что и схема S\mathfrak {S} в вершине vv?

Рис. 17: Схема \mathfrak {S} из задачи 391.Рис. 17: Схема \mathfrak {S} из задачи 391.

y←¬x1z←¬x2u←¬x3y←y∧x2w←x2∧x3y←y∧uy←w∨yz←z∨y \begin{aligned} & y \leftarrow \neg x_{1} \\ & z \leftarrow \neg x_{2} \\ & u \leftarrow \neg x_{3} \\ & y \leftarrow y \wedge x_{2} \\ & w \leftarrow x_{2} \wedge x_{3} \\ & y \leftarrow y \wedge u \\ & y \leftarrow w \vee y \\ & z \leftarrow z \vee y \end{aligned}

Рис. 19: Линейная программа из задачи 392.

?
Задача 392

Пусть задана линейная программа П с входными переменными x1,x2,x3x_{1}, x_{2}, x_{3} (рис.19). Построить схему SΠ\mathfrak {S}_{\Pi } из функциональных элементов со входами x1,x2,x3x_{1}, x_{2}, x_{3} и функциональными вершинами, соответствующими присваиваниям П, вычисляющую ту же функцию, что и П в выходной переменной zz. Чему равна её глубина? Можно ли для вычисления той же функции построить более короткие схему и линейную программу?

?
Задача 393

Пусть базис B\mathcal{B} позволяет получить константу 0, а программа Π\Pi в базисе B\mathcal{B} кроме входных переменных x1,…,xnx_{1}, \ldots , x_{n} содержит z1,…,zmz_{1}, \ldots , z_{m}, в каждой из которых вычисляется функция f1,…,fmf_{1}, \ldots , f_{m} соответственно. Доказать, что тогда можно эффективно построить схему SΠ\mathfrak {S}_{\Pi } в базисе B\mathcal{B}, содержащую в том числе вершины v1,…,vmv_{1}, \ldots , v_{m} такие, что fvi=fif_{v_{i}}=f_{i} для i=1,…,mi=1, \ldots , m.

?
Задача 394

Допустим, что функция ff не является константой. Доказать, что сложность функции ff в базисе B0\mathcal{B}_{0} не превосходит сложности ff в базисе B1=B0∪{0,1}\mathcal{B}_{1}=\mathcal{B}_{0} \cup \left\{ 0,1\right\}.

?
Задача 395

Пусть SUMn\mathrm{SUM}_{n} — это схема nn-разрядного сумматора, выполняющего сложение двух nn-разрядных двоичных чисел, результатом которого является (n+1)(n+1)-разрядное число (см. [3], § 13.3). Используя схему SUMn\mathrm{SUM}_{n}, построить схему, реализующую операцию вычитания двух nn-разрядных двоичных чисел: d=a−bd=a-b (при условии, что a⩾ba \geqslant b). Оценить сложность полученной схемы.

?
Задача 396

Два игрока независимо выбирают одно из четырёх чисел от 0 до 3. Первый игрок выигрывает, если их сумма является степенью двойки. Построить схему, определяющую выигрыш первого игрока. Её входы u1,u0u_{1}, u_{0} представляют в двоичной записи число, выбранное первым игроком, а v1,v0v_{1}, v_{0} — число, выбранное вторым игроком.

?
Задача 397

Построить схему Cn\mathfrak {C}_{n} для сравнения двух nn-значных чисел, представленных в двоичном виде. Схема должна иметь входы un−1,…,u0u_{n-1}, \ldots , u_{0} и vn−1,…,v0v_{n-1}, \ldots , v_{0} для исходных чисел и три выхода результата: больше, меньше или равно.

?
Задача 398

Показать, что схему для вычисления nn-местной функции odd (задача 170 на стр.54) можно реализовать в базисе B0\mathcal{B}_{0}, используя не более ⌊n/2⌋\lfloor n / 2\rfloor отрицаний.

?
Задача 399

Пусть ff - nn-местная булева функция, которая реализуется схемой S\mathfrak {S} с kk отрицаниями в базисе B0\mathcal{B}_{0},

vi=f(1,…,1⏟i единиц ,0,…,0). v_{i}=f(\underbrace{1, \ldots , 1}_{i \text{ единиц }}, 0, \ldots , 0).

Доказать, что для любых jj и mm в последовательности значений s=(vj,vj+1,…,vj+m)s=\left(v_{j}, v_{j+1}, \ldots , v_{j+m}\right) функции ff существует не больше 2k−12^{k}-1 позиций, где значение 1 меняется на 0. Указание. Применить индукцию по kk.

?
Задача 400

Показать, что оценка 2k−12^{k}-1 из предыдущей задачи реально достижима. Указание. Индукцией по kk построить соответствующую функцию fkf_{k} с 2k+1−12^{k+1}-1 аргументами.

?
Задача 401

Построить схему для умножения двух двухзначных двоичных чисел. Схема должна иметь входы a1,a0a_{1}, a_{0} и b1,b0b_{1}, b_{0} для исходных чисел и четыре выхода для разрядов результата.

?
Задача 402

Построить схему, определяющую результат голосования в комитете, состоящем из трёх членов и председателя. В случае равенства голосов голос председателя является решающим.

?
Задача 403

Построить логическую схему, определяющую результат голосования в комитете, состоящем из пяти членов, где у председателя и секретаря имеется по два голоса. То есть если x1,x2,x3,y,z−x_{1}, x_{2}, x_{3}, y, z- это голоса «за» трёх обычных членов, председателя и секретаря соответственно, то

f(x1,x2,x3,y,z)=1⟺x1+x2+x3+2y+2z⩾4. f\left(x_{1}, x_{2}, x_{3}, y, z\right)=1 \Longleftrightarrow x_{1}+x_{2}+x_{3}+2 y+2 z \geqslant 4.

Определить сложность и глубину построенной схемы.

?
Задача 404

Пусть наборы аргументов булевой функции от трёх аргументов упорядочены лексикографически, а её значения задаются последовательностью из восьми нулей и единиц. Построить схемы, реализующие следующие функции:

?
(а)

f1=(11111011)f_{1}=(11111011);

(б)

f2=(10011001)f_{2}=(10011001);

(в)

f3=(00111001)f_{3}=(00111001).

Задача 405

Построить следующие логические схемы, определить их сложность и глубину:

?
(а)

Ln\mathfrak {L}_{n}, которая выполняет линейный сдвиг по команде: имеет входы u1,u2,…,unu_{1}, u_{2}, \ldots , u_{n} и vv, выходы w1,w2,…,wn,wn+1w_{1}, w_{2}, \ldots , w_{n}, w_{n+1}, значения w1,w2,…,wn,wn+1w_{1}, w_{2}, \ldots , w_{n}, w_{n+1} равны соответственно u1,u2,…,un,0u_{1}, u_{2}, \ldots , u_{n}, 0 при v=0v=0 или 0,u1,…,un−1,un0, u_{1}, \ldots , u_{n-1}, u_{n} при v=1;v=1 ;

(б)

ℜn\Re_{n}, которая выполняет циклический сдвиг по команде: имеет входы u1,u2,…,unu_{1}, u_{2}, \ldots , u_{n} и vv, выходы w1,w2,…,wnw_{1}, w_{2}, \ldots , w_{n}, значения w1,w2,…,wnw_{1}, w_{2}, \ldots , w_{n} равны соответственно u1,u2,…,unu_{1}, u_{2}, \ldots , u_{n} при v=0v=0 или un,u1,…,un−1u_{n}, u_{1}, \ldots , u_{n-1} при v=1v=1;

(в)

Cn\mathfrak {C}_{n}, которая выполняет подсчёт количества единиц: имеет входы u1,u2,…,unu_{1}, u_{2}, \ldots , u_{n}, выходы w0,w1,w2,…,wnw_{0}, w_{1}, w_{2}, \ldots , w_{n}, значение wiw_{i} равно единице тогда и только тогда, когда среди u1,u2,…,unu_{1}, u_{2}, \ldots , u_{n} имеется ровно ii единиц.

Задача 406

Используя схемы из предыдущей задачи, построить логические схемы, реализующие следующие функции:

?
(а)

fn(x1,x2,…,xn)=1⟺∑i=1nxi≡3( mod 4);f_{n}\left(x_{1}, x_{2}, \ldots , x_{n}\right)=1 \Longleftrightarrow \sum_{i=1}^{n} x_{i} \equiv 3(\bmod 4) ;

(б)

gn(x1,x2,…,xn)=1⟺∑i=1nxi≢0( mod 3);g_{n}\left(x_{1}, x_{2}, \ldots , x_{n}\right)=1 \Longleftrightarrow \sum_{i=1}^{n} x_{i} \not\equiv 0(\bmod 3) ;

(в)

пороговая функция

Tkn(x1,x2,…,xn)=1⟺∑i=1nxi⩾k. T_{k}^{n}\left(x_{1}, x_{2}, \ldots , x_{n}\right)=1 \Longleftrightarrow \sum _{i=1}^{n} x_{i} \geqslant k.

Определить сложность и глубину построенных схем.

Задача 407

Пусть ориентированный граф G=({1,2,3},E)\mathfrak {G}=(\left\{ 1,2,3\right\} , E) без петель задан матрицей смежности AA размера 3×33 \times 3. Построить схему из функциональных элементов, которая по шести переменным Ai,j,i≠jA_{i, j}, i \neq j, определяет, является ли граф G\mathfrak {G} сильно связным. Определить сложность и глубину построенной схемы.

?
Задача 408

Пусть неориентированный граф G=({1,2,3,4},E)\mathfrak {G}=(\left\{ 1,2,3,4\right\} , E) без петель задан матрицей смежности AA размера 4×44 \times 4. Построить схему из функциональных элементов, которая по шести переменным Ai,j,i<jA_{i, j}, i<j, определяет, является ли граф G\mathfrak {G} двудольным. Определить сложность и глубину построенной схемы.

?
Задача 409

Пусть для слова ww из четырёх букв переменная sis_{i} означает, что ii-я буква в ww является гласной. Построить схему из функциональных элементов, которая по четырём переменным si,i=1,…,4s_{i}, i=1, \ldots , 4, определяет, что в слове ww нет подряд идущих ни двух гласных, ни трёх согласных. Определить сложность и глубину построенной схемы. →

?
Задача 410

С помощью переменных u3,u2,u1,u0u_{3}, u_{2}, u_{1}, u_{0} закодировано четырёхразрядное двоичное число. Построить схему из функциональных элементов, которая по переменным u3,u2,u1,u0u_{3}, u_{2}, u_{1}, u_{0}, определяет, является ли это число простым.

?