香农展开维基百科,自由的 encyclopedia 香农展开(英语:Shannon's expansion),或称香农分解(Shannon decomposition)是对布尔函数的一种变换方式。它可以将任意布尔函数表达为其中任何一个变量乘以一个子函数,加上这个变量的反变量乘以另一个子函数。 f ( X 1 , X 2 , … , X n ) = X 1 ⋅ f ( 1 , X 2 , … , X n ) + X 1 ′ ⋅ f ( 0 , X 2 , … , X n ) {\displaystyle f(X_{1},X_{2},\dots ,X_{n})=X_{1}\cdot f(1,X_{2},\dots ,X_{n})+X_{1}'\cdot f(0,X_{2},\dots ,X_{n})} 例如: f ( x , y , z ) = y z + x y z ′ + x ′ y ′ z {\displaystyle f(x,y,z)=yz+xyz'+x'y'z} 可以抽取其中的变量 x {\displaystyle x} 及其反变量 x ′ {\displaystyle x'} ( x {\displaystyle x} 取反),而得到 f ( x , y , z ) = x ⋅ f ( 1 , y , z ) + x ′ ⋅ f ( 0 , y , z ) {\displaystyle f(x,y,z)=x\cdot f(1,y,z)+x'\cdot f(0,y,z)} f ( x , y , z ) = x ( y z + ( 1 ) y z ′ + ( 1 ) ′ y ′ z ) + x ′ ( y z + ( 0 ) y z ′ + ( 0 ) ′ y ′ z ) {\displaystyle f(x,y,z)=x(yz+(1)yz'+(1)'y'z)+x'(yz+(0)yz'+(0)'y'z)} f ( x , y , z ) = x ( y z + ( 1 ) y z ′ + ( 0 ) y ′ z ) + x ′ ( y z + ( 0 ) y z ′ + ( 1 ) y ′ z ) {\displaystyle f(x,y,z)=x(yz+(1)yz'+(0)y'z)+x'(yz+(0)yz'+(1)y'z)} f ( x , y , z ) = x ( y z + y z ′ ) + x ′ ( y z + y ′ z ) {\displaystyle f(x,y,z)=x(yz+yz')+x'(yz+y'z)} 对逻辑函数使用香农展开,就可以使用抽取的变量作为一个选择信号,然后用数据选择器来实现该函数。
香农展开(英语:Shannon's expansion),或称香农分解(Shannon decomposition)是对布尔函数的一种变换方式。它可以将任意布尔函数表达为其中任何一个变量乘以一个子函数,加上这个变量的反变量乘以另一个子函数。 f ( X 1 , X 2 , … , X n ) = X 1 ⋅ f ( 1 , X 2 , … , X n ) + X 1 ′ ⋅ f ( 0 , X 2 , … , X n ) {\displaystyle f(X_{1},X_{2},\dots ,X_{n})=X_{1}\cdot f(1,X_{2},\dots ,X_{n})+X_{1}'\cdot f(0,X_{2},\dots ,X_{n})} 例如: f ( x , y , z ) = y z + x y z ′ + x ′ y ′ z {\displaystyle f(x,y,z)=yz+xyz'+x'y'z} 可以抽取其中的变量 x {\displaystyle x} 及其反变量 x ′ {\displaystyle x'} ( x {\displaystyle x} 取反),而得到 f ( x , y , z ) = x ⋅ f ( 1 , y , z ) + x ′ ⋅ f ( 0 , y , z ) {\displaystyle f(x,y,z)=x\cdot f(1,y,z)+x'\cdot f(0,y,z)} f ( x , y , z ) = x ( y z + ( 1 ) y z ′ + ( 1 ) ′ y ′ z ) + x ′ ( y z + ( 0 ) y z ′ + ( 0 ) ′ y ′ z ) {\displaystyle f(x,y,z)=x(yz+(1)yz'+(1)'y'z)+x'(yz+(0)yz'+(0)'y'z)} f ( x , y , z ) = x ( y z + ( 1 ) y z ′ + ( 0 ) y ′ z ) + x ′ ( y z + ( 0 ) y z ′ + ( 1 ) y ′ z ) {\displaystyle f(x,y,z)=x(yz+(1)yz'+(0)y'z)+x'(yz+(0)yz'+(1)y'z)} f ( x , y , z ) = x ( y z + y z ′ ) + x ′ ( y z + y ′ z ) {\displaystyle f(x,y,z)=x(yz+yz')+x'(yz+y'z)} 对逻辑函数使用香农展开,就可以使用抽取的变量作为一个选择信号,然后用数据选择器来实现该函数。