📜  门| GATE-CS-2014-(Set-3)|问题15(1)

📅  最后修改于: 2023-12-03 15:28:44.102000             🧑  作者: Mango

门 | GATE-CS-2014-(Set-3) | 问题15

这是一个关于计算机科学和工程领域的问题,涉及到门电路的基础理论。

问题描述

一个门电路的输入是 $n$ 个电气信号,输出是 $1$ 个电气信号。设 $G$ 是 $n$ 个输入上的逻辑函数,$n$ 个输入可以用 0 或 1 表示。输入信号变化之后,输出信号的取值也会随之变化。每一个门电路都有自己的结构和特性,因此一个逻辑函数可以被实现在多种不同的门电路上。请回答如下问题:

  • 一个 $n$ 变量逻辑函数 $G$ 可以被实现成 $k$ 个两变量逻辑函数 (AND 或 OR 门) 的级联,当且仅当 $G$ 是可满足的。
  • 一个 $n$ 变量逻辑函数 $G$ 可以被实现成 $k$ 个两变量逻辑函数 (AND 或 OR 门) 的级联,当且仅当 $G$ 是平凡可满足的。

请简要解释上述两个问题的含义。

解答
问题一

设 $G$ 是 $n$ 个输入上的逻辑函数,即 $G:{0,1}^n\rightarrow {0,1}$。则 $G$ 可以被实现成 $k$ 个两变量逻辑函数的级联,当且仅当存在一组两变量逻辑函数 $f_1,\ldots,f_k$ 使得 $G$ 可以写成如下形式:

$$ G(x_1,\ldots,x_n)=f_k\left(f_{k-1}\left(\cdots f_2(f_1(x_{a_1},x_{b_1}),f_1(x_{a_2},x_{b_2}))\cdots\right)\right) $$

其中 $x_{a_i},x_{b_i}\in{x_1,\ldots,x_n}$ 对于 $1\le i\le k$ 不一定相同。

例如,当 $n=4$ 时,一个逻辑函数 $G(x_1,x_2,x_3,x_4)$ 可以被以下两个两变量逻辑函数的级联实现:

$$ \begin{aligned} f_1&=OR(x_1,x_2)& \ f_2&=AND(f_1(x_1,x_2),OR(f_1(x_3,x_4),x_3))& \ G(x_1,x_2,x_3,x_4)&=f_2(f_1(x_1,x_2),OR(f_1(x_3,x_4),x_3))& \end{aligned} $$

问题二

设 $G$ 是 $n$ 个输入上的逻辑函数,即 $G:{0,1}^n\rightarrow {0,1}$。则 $G$ 可以被实现成 $k$ 个两变量逻辑函数的级联,当且仅当当 $G$ 是平凡可满足的,即当输入为 $1^n$ 时输出为 1。

即存在 $f_1,\ldots,f_k$ 以及 $x_{a_1},x_{b_1},\ldots,x_{a_k},x_{b_k}\in{x_1,\ldots,x_n}$ 使得 $G$ 可以写成以下形式:

$$ \begin{aligned} G(x_1,\ldots,x_n)&=f_k(f_{k-1}(\cdots f_2(f_1(x_{a_1},x_{b_1}),f_1(x_{a_2},x_{b_2}))\cdots)) \ &=f_k(f_{k-1}(\cdots f_2(x_{a_{k-1}},x_{b_{k-1}}),x_{a_k})) \ &=x_{b_k}. \end{aligned} $$

因此,$G$ 可以被 $k$ 个两变量逻辑函数的级联实现当且仅当当 $G(1^n)=1$ 时,$G$ 能用两变量逻辑函数的级联表示。