Espresso heuristische logische minimalisator: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
WimdeValk (overleg | bijdragen)
→‎Het Espresso algoritme: links toegevoegd
WimdeValk (overleg | bijdragen)
Regel 28:
=== Klassieke minimalisatiemethoden ===
 
Het met de hand minimaliseren van Booleaanse functies met behulp van het welbekende [[Karnaugh-diagram]] is een tijdrovende, saaie en foutgevoelige bewerking. Deze is niet geschikt voor meer dan 6 variabelen, terwijl de praktische uitvoerbaarheid gelimiteerd is tot maximaal 4 variabelen. Het gemeenschappelijk gebruik van producttermen bij functies met meerdermeerdere uitgangen (productterm sharing) is verder nog een orde van grootte lastiger. De methode is ten overvloede niet geschikt om te worden geautomatiseerd in de vorm van een computerprogramma. Aangezien hedendaagse logische functies in het algemeen niet begrensd zijn tot zo’n klein aantal variabelen, terwijl de kostprijs zowel als het risico van het maken van fouten in het ontwerp het handmatig implementeren van logische functies simpelweg niet toelaat, is het gebruik van computers onmisbaar geworden.
 
De eerste alternatieve methode die in zwang raakte was een tabellarische methode, ontwikkeld door Quine en McCluskey. In de waarheidstabel voor een aantal logische functies wordt gezocht naar een serie priemimplicanten, door de mintermen waarvoor de functies actief zijn (het ON-cover) of welke er niet toe doen (het Don’t Care cover) zo optimaal mogelijk te combineren. Tenslotte wordt een systematische procedure uitgevoerd om de kleinste set van priemimplicanten samen te stellen waarmee de uitgangsfuncties kunnen worden gerealiseerd.