Inom matematik är Shannon -nedbrytning eller Shannon -nedbrytning i en variabel en metod för att representera en boolesk funktion av variabler som summan av två underfunktioner av andra variabler. Även om denna metod ofta tillskrivs Claude Shannon , bevisade Boole det mycket tidigare, och själva möjligheten till en sådan expansion i någon av variablerna följer direkt av möjligheten att definiera valfri boolesk funktion med hjälp av sanningstabellen .
Shannon-expansionen i termer av en variabel är baserad på det faktum att sanningstabellen för en boolesk funktion av binära variabler kan delas upp i två delar så att den första delen endast innehåller de indatakombinationer där variabeln alltid tar värdet , och den andra delen innehåller endast de kombinationer av ingångskombinationer där variabeln alltid tar värdet (och dess inverterade värde tar värdet ). Som ett resultat blir följande identitet giltig , kallad Shannon-expansionen:
var är den booleska funktionen som ska expanderas, och är de icke-inverterade och inverterade värdena för variabeln med avseende på vilken expansionen utförs, och och är det positiva respektive negativa komplementet för funktionen med avseende på variabeln . I Shannon-expansionen anger symbolerna och operationerna för konjunktion ("AND", AND) respektive disjunktion ("OR", OR), men identiteten förblir giltig när man ersätter disjunktion med strikt disjunktion (modulo 2 addition, exklusiv " OR", XOR), eftersom termerna aldrig får det sanna värdet samtidigt (eftersom det positiva komplementet kombineras med konjunktion med , och det negativa komplementet kombineras med konjunktion med dess invers ).
Positivt komplement bestäms av den del av sanningstabellen där variabeln alltid antar ett värde (och dess inverterade värde antar värdet av ):
Det negativa komplementet bestäms av resten av tabellen, där variabeln alltid får ett värde (och det inverterade värdet får ett värde av ):
Shannon-nedbrytningssatsen är, trots all dess självklarhet, en viktig idé i boolesk algebra för att representera booleska funktioner som binära beslutsdiagram , lösa problemet med tillfredsställelse av booleska formler och implementera många andra tekniker relaterade till datorteknik och formell verifiering av digitala kretsar. .
I artikeln "The Synthesis of Two-Terminal Switching Circuits" [1] beskrev Shannon nedbrytningen av en funktion med avseende på en variabel som:
följt av expansion i två variabler, och noterade att expansionen kunde fortsätta i valfritt antal variabler.
Låt en boolesk funktion av tre variabler , och , ges som en perfekt disjunktiv normalform , det vill säga som en disjunktion av elementära konjunktioner, som var och en innehåller varje variabel eller dess komplement (inversion) i samma ordning:
För expansion i en variabel kan denna funktion skrivas om till en summa:
efter att ha erhållit expansionen av en boolesk funktion i en variabel genom att helt enkelt tillämpa den fördelande egenskapen för en variabel och dess komplement (inversion) :
På liknande sätt utförs expansionen av funktionen i termer av variabeln eller :
I sin tur, för var och en av de återstående funktionerna i ett mindre antal variabler, kan man fortsätta expansionen i en av de återstående variablerna.
Variabeln i expansionen av en boolesk funktion kan inte bara vara individuella variabler som ingår i denna funktion, utan alla multiplexeringsvillkor. Det är till exempel känt expansion genom uttryck (x > y) och dess negation.