Shannon ekspansion

I matematik er Shannon- dekomponering eller Shannon- nedbrydning i en variabel en metode til at repræsentere en boolsk funktion af variabler som summen af ​​to underfunktioner af andre variable. Selvom denne metode ofte tilskrives Claude Shannon , beviste Boole det meget tidligere, og selve muligheden for en sådan udvidelse i enhver af variablerne følger direkte af muligheden for at definere enhver boolsk funktion ved hjælp af sandhedstabellen .

Dekomponering

Shannon-udvidelsen i form af en variabel er baseret på det faktum, at sandhedstabellen for en boolsk funktion af binære variable kan opdeles i to dele, således at den første del kun indeholder de inputkombinationer, hvor variablen altid tager værdien , og den anden del indeholder kun de inputkombinationer, hvor variablen altid tager værdien (og dens inverterede værdi tager værdien ). Som et resultat bliver følgende identitet gyldig , kaldet Shannon-udvidelsen:

hvor er den boolske funktion, der skal udvides, og er de ikke-inverterede og inverterede værdier af den variabel, som udvidelsen udføres i forhold til, og og er henholdsvis det positive og negative komplement for funktionen i forhold til variablen . I Shannon-udvidelsen betegner symbolerne og operationerne for henholdsvis konjunktion ( "AND", AND) og disjunktion ("OR", OR), men identiteten forbliver gyldig, når man erstatter disjunktion med streng disjunktion (modulo 2 addition, exclusive " OR", XOR), da termerne aldrig får den sande værdi på samme tid (fordi det positive komplement kombineres med konjunktion med , og det negative komplement kombineres med konjunktion med dets inverse ).

Positivt komplement bestemmes af den del af sandhedstabellen, hvor variablen altid antager en værdi (og dens inverterede værdi antager værdien af ​​):

Det negative komplement bestemmes af resten af ​​tabellen, hvor variablen altid antager en værdi (og den inverterede værdi antager en værdi på ):

Shannon-nedbrydningssætningen er, trods al dens åbenbarhed, en vigtig idé i boolsk algebra til at repræsentere boolske funktioner som binære beslutningsdiagrammer , løse problemet med tilfredsstillelse af boolske formler og implementere mange andre teknikker relateret til computerteknik og formel verifikation af digitale kredsløb .

I artiklen "The Synthesis of Two-Terminal Switching Circuits" [1] beskrev Shannon nedbrydningen af ​​en funktion med hensyn til en variabel som:

efterfulgt af udvidelse i to variable, og bemærkede, at udvidelsen kunne fortsættes i et hvilket som helst antal variable.

Nedbrydningseksempel

Lad en boolsk funktion af tre variable , og , gives som en perfekt disjunktiv normalform , det vil sige som en disjunktion af elementære konjunktioner, som hver indeholder hver variabel eller dens komplement (inversion) i samme rækkefølge:

For udvidelse i en variabel kan denne funktion omskrives som en sum:

efter at have opnået udvidelsen af ​​en boolsk funktion i en variabel ved blot at anvende den distributive egenskab for en variabel og dens komplement (inversion) :

På samme måde udføres udvidelsen af ​​funktionen i form af variablen eller :

Til gengæld kan man for hver af de resterende funktioner i et mindre antal variabler fortsætte udvidelsen i en af ​​de resterende variable.

Generalisering

Variablen i udvidelsen af ​​en boolesk funktion kan ikke kun være individuelle variable, der er inkluderet i denne funktion, men enhver multiplekseringsbetingelse. Det er f.eks. kendt ekspansion ved udtryk (x > y) og dets negation.

Se også

Noter

  1. Shannon, Claude E. Syntesen af ​​koblingskredsløb med to terminaler  // Bell System Technical  Journal : journal. — Bd. 28 . - S. 59-98 .

Links