香農展開維基百科,自由的 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)} 對邏輯函數使用香農展開,就可以使用抽取的變量作為一個選擇信號,然後用數據選擇器來實現該函數。