A kódoláselméletben a Kraft-McMillan egyenlőtlenség szükséges és elégséges feltételt ad az elválasztható és előtag kódok létezéséhez, amelyek adott kódszóhosszúsággal rendelkeznek.
Adjunk meg két tetszőleges véges halmazt , amelyeket rendre kódolt ábécének és kódolt ábécének nevezünk . Elemeiket karaktereknek , a karakterláncokat (véges hosszúságú sorozatokat) pedig szavaknak nevezzük . Egy szó hossza a szó karaktereinek száma.
Kódoló ábécéként gyakran egy halmazt tekintenek - az úgynevezett bináris vagy bináris ábécét.
Az alfabetikus kódolási séma (vagy egyszerűen (alfabetikus) kód ) a kódolt ábécé karaktereinek bármilyen leképezése a kódoló ábécé szavaira, amelyeket kódszavaknak nevezünk . A kódolási séma használatával a kódolt ábécé minden szava társítható a kódjához - a szó minden karakterének megfelelő kódszavak összefűzésével .
Egy kódot elválaszthatónak (vagy egyedileg dekódolhatónak ) nevezünk, ha a kódolt ábécé két szava nem társítható ugyanahhoz a kódhoz.
Az előtag kód olyan alfabetikus kód, amelyben a kódszavak egyikesem más kódszó előtagja . Bármely előtag kód elválasztható.
Macmillan tétele (1956) . Legyen megadva a és szimbólumokból álló kódolt és kódoló ábécé , valamint a kódszavak kívánt hosszúsága: . Ekkor az adott kódszóhosszúságú elválasztható és előtag kódok létezésének szükséges és elégséges feltétele az egyenlőtlenség teljesülése: |
Ezt az egyenlőtlenséget Craft-MacMillan egyenlőtlenségnek nevezik . Leon Kraft származtatta először 1949-es diplomamunkájában [1] , de ő csak az előtagkódokat vette figyelembe, így az előtagkódok tárgyalásakor ezt az egyenlőtlenséget gyakran egyszerűen Kraft-egyenlőtlenségnek nevezik . 1956-ban Brockway Macmillan bebizonyította ennek az egyenlőtlenségnek a szükségességét és elégségességét a kódok általánosabb osztályához, az elkülöníthető kódokhoz. [2]
Bármilyen gyökeres bináris fa tekinthető egy bináris ábécé feletti előtagkód grafikus leírásának: a kódolt ábécé karakterei a fa leveleinek felelnek meg, és a fában a gyökértől a levélig vezető útvonal határozza meg a kódját ( az útvonal a 0 és 1 karaktereknek megfelelő „balra” és „jobbra” mozgássorozatból áll.
Az ilyen fák esetében a Kraft-McMillan egyenlőtlenség kimondja, hogy:
ahol a fa leveleinek halmaza, és a levél mélysége , a gyökértől a felé vezető úton lévő élek száma .
A jobb oldali ábrán látható fához a következők tartoznak: