Funkcja logiczna - inaczej funkcja boolowska, jest odwzorowaniem zbioru X w Y, gdzie Y przyjmuje wartości 1 lub 0, czyli logicznej prawdy lub fałszu. Ogólnie funkcja logiczna może być przedstawiona w sposób mniej lub bardziej skomplikowany, za pomocą wielu innych wzorów, z który da się uprościć. Uproszczenie, czyli minimalizacja, jest wyznaczeniem dla konkretnej funkcji, jej najprostszej formy, lub inaczej mówiąc wynikiem minimalizacji jest wyznaczenie możliwie najprostszej funkcji równoważnej.

Ważnym momentem przy przeprowadzaniu minimalizacji funkcji, jest porównanie stopnia skomplikowania. W celu ułatwienia takiego porównania, wprowadza się pojęcie współczynnika skomplikowania, definiowanego na różne sposoby. Przykładowa definicja nazywająca ten współczynnik brzmi (za http://lm.tii.pl/):

Współczynnikiem skomplikowania W funkcji logicznej i (and), lub (or), nie (not) nazywamy sumę liczby wyrażeń (pojedynczych liter lub ich kombinacji) podlegających mnożeniu i liczby wyrażeń podlegających

dodawaniu.

Według ogólnych kryteriów podziału, metody służące do minimalizacji, można podzielić na dwie grupy:

  1. metody algebraiczne (czyli ręczne przekształcenia na zasadzie matematycznych przekształceń wzorów)
  2. metody algorytmiczne, realizowane przez program

Ze względu na czasochłonność, metody algebraiczne nie są zbyt przydatne w praktyce. W ich miejsce są stosowane metody algorytmiczne, dające znacznie lepsze rezultaty.

Tak w ogólnym zarysie przedstawia się zagadnienie minimalizacji funkcji logicznych.

Minimalizacja funkcji logicznej wiąże się z porównaniem stopnia skomplikowania funkcji. Dla porównania funkcji wprowadza się pojęcie współczynnika skomplikowania definiowanego w rożny sposób. Jedna z możliwych definicji współczynnika skomplikowania brzmi:

Metody minimalizacji funkcji logicznych można podzielić na dwie grupy. Do pierwszej grupy należą metody przekształceń algebraicznych. Metody te nie są zbyt przydatne w praktyce. Do drugiej grupy należą metody algorytmiczne.