# Base Sintética de Transações de Supermercado
transacoes = [
    {"Pão", "Manteiga", "Leite"},
    {"Pão", "Manteiga"},
    {"Pão", "Café"},
    {"Manteiga", "Leite"},
    {"Pão", "Manteiga", "Café"}
]

total_transacoes = len(transacoes)

def calcular_suporte(itemset, base):
    contagem = sum(1 for t in base if itemset.issubset(t))
    return contagem / len(base)

# Definindo a regra X -> Y
item_X = {"Pão"}
item_Y = {"Manteiga"}
item_XY = item_X.union(item_Y)

# Cálculo das Métricas
sup_X = calcular_suporte(item_X, transacoes)
sup_Y = calcular_suporte(item_Y, transacoes)
sup_XY = calcular_suporte(item_XY, transacoes)

confianca = sup_XY / sup_X if sup_X > 0 else 0
lift = confianca / sup_Y if sup_Y > 0 else 0

print("=== CALCULADORA DE REGRAS DE ASSOCIAÇÃO ===")
print(f"Regra Analisada: {item_X} => {item_Y}")
print(f"Suporte Global de Pão e Manteiga: {sup_XY:.2f} ({sup_XY*100:.0f}%)")
print(f"Confiança da Regra: {confianca:.2f} ({confianca*100:.0f}%)")
print(f"Valor do Lift: {lift:.2f}")

if lift > 1.0:
    print("Conclusão: Associação POSITIVA! Comprar Pão AUMENTA a chance de comprar Manteiga.")
elif lift == 1.0:
    print("Conclusão: Itens INDEPENDENTES.")
else:
    print("Conclusão: Associação NEGATIVA.")