Open JPaniagua13 opened 1 year ago
Recibe los implicantes primos esenciales para formar la ecuación booleana mínima.
Se obtiene una expresión simplificada formada por sumas de productos, donde cada agrupación de productos es una posible solución para la ecuación booleana mínima
def Petricks(listaInicialMin, listaPrimos):
'''
'''
listaPrimoBits = list()
listaEsenciales = list()
#Añade los implicantes primos a una lista en una representación en Bits.
for i in range(0, len(listaPrimos)):
listaPrimoBits.append(representarBinario(listaPrimos[i],listaInicialMin))
for j in range(0, len(listaPrimos)):
for k in range(0, len(listaInicialMin)): #Itera cifra por cifra
unico = True
#Si dos cifras coinciden entonces el implicante no es esencial
for z in range(0, len(listaPrimos)):
if j != z and listaPrimoBits[j][k] == listaPrimoBits[z][k]:
unico = False
#Si en ninguna cifra coincida anadala a la lista de esenciales
if unico == True and listaEsenciales.count(listaPrimos[j]) == 0:
listaEsenciales.append(listaPrimos[j])
return listaEsenciales
Entrada
Salida
Código