Supongamos que desea saber si alguien de su familia está en casa, basándose en la siguiente información: Si su esposa sale de casa, usualmente (pero no siempre) enciende la luz de la entrada Hay otras ocasiones en las que también enciende la luz de la entrada Si no hay nadie en casa, el perro está fuera Si el perro tiene problemas intestinales, también se deja fuera Si el perro está fuera, usted oye sus ladridos Podría oír ladridos y pensar que son de su perro aunque no fuera así. Plantear: 1. Red bayesiana 2. Asignar probabilidades en forma libre. 3. Hallar la probabilidad de que haya alguien esté en la casa, si se observa que el perro está afuera y la luz de entrada está prendida.
import pgmpy from pgmpy.models import BayesianModel from pgmpy.factors.discrete import TabularCPD from pgmpy.inference import VariableElimination import numpy as np familiar_model = BayesianModel([('luz', 'persona'), ('perro', 'persona')]) cpd_luz = TabularCPD(variable='luz', variable_card=2, values=np.array([[0.5, 0.9], [0.5, 0.1]]), evidence=['persona'], evidence_card=[2]) cpd_perro = TabularCPD(variable='perro', variable_card=2, values=np.array([[0.9, 0.1], [0.1, 0.9]]), evidence=['persona'], evidence_card=[2]) cpd_persona = TabularCPD(variable='persona', variable_card=2, values=np.array([[0.9, 0.2], [