예제 #1
0
def test():
    print("Prueba del entorno con un agente aleatorio")
    entornos_o.simulador(NueveCuartos(),
                         AgenteAleatorio(['ir_Izquierda', 'ir_Derecha',
                                          'limpiar','nada',
                                          'subir', 'bajar']), 200)
    print("Prueba del entorno con un agente reactivo con modelo")
    entornos_o.simulador(NueveCuartos(), AgenteReactivoModeloNueveCuartos(), 200)
def test3():
    print("Prueba del entorno estocastico con un agente aleatorio")
    entornos_o.simulador(DosCuartosEstocastico(),
                         doscuartos_o.AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),
                         100)

    print("Prueba del entorno estocastico con un agente reactivo con modelo")
    entornos_o.simulador(DosCuartosEstocastico(), AgenteReactivo_Modelo_DosCuartosEstocastico(), 100)
예제 #3
0
def hacerPruebaEjercicio1_2(pasos):
    """
    @param pasos: Número de pasos de la simulación.
    """

    print("Prueba en SeisCuartos con un agente aleatorio.")
    entornos_o.simulador(SeisCuartos(), AgenteAleatorioSeisCuartos(['ir_Derecha', 'ir_Izquierda', 'subir', 'bajar', 'limpiar', 'nada']), pasos)

    print("Prueba en SeisCuartos con un agente reactivo basado en modelo.")
    entornos_o.simulador(SeisCuartos(), AgenteRacionalSeisCuartos(), pasos)
def test1(pasos = 100):
    """
    Simulacion del entorno seis caurtos
    """

    print("Prueba en SeisCuartos con un agente aleatorio.")
    entornos_o.simulador(SeisCuartos(), AgenteAleatorio_SeisCuartos(['ir_Derecha', 'ir_Izquierda', 'subir', 'bajar', 'limpiar', 'nada']), pasos)

    print("Prueba en SeisCuartos con un agente reactivo basado en modelo.")
    entornos_o.simulador(SeisCuartos(), AgenteReactivo_Modelo_SeisCuartos(), pasos)
def testEj2():
    """
    Prueba del entorno y los agentes de los incisos 1 y 2

    """
    print("Prueba del entorno con un agente aleatorio")
    entorno = SeisCuartos()
    entornos_o.simulador(entorno, AgenteAleatorioGenerico(entorno), 100)

    print("Prueba del entorno con un agente reactivo con modelo")
    entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 100)
def testEj3():
    """
    Prueba del entorno y los agentes del inciso 3

    """
    print("Prueba del entorno con un agente aleatorio")
    entornos_o.simulador(
        doscuartos_o.DosCuartos(),
        doscuartos_o.AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']), 100)

    print("Prueba del entorno CIEGO con un agente reactivo con modelo")
    entornos_o.simulador(DosCuartosCiego(),
                         AgenteReactivoModeloDosCuartosCiego(), 100)
예제 #7
0
def test():
    """
    Prueba del entorno y los agentes
    """

    print("Prueba del entorno con un agente aleatorio")
    entornos_o.simulador(DosCuartosCiego(),
                         AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),
                         100)

    print("Prueba del entorno con un agente reactivo")
    entornos_o.simulador(DosCuartosEstocástico(), AgenteRacionalDoscuartos(),
                         100)
예제 #8
0
def hacerPruebaEjercicio4(pasos):
    """
    Realiza pruebas con un agente aleatorio y uno reactivo basado en
    modelo en el entorno DosCuartosEstocástico.

    @param pasos: Número de pasos de la simulación.
    """

    print("Prueba en DosCuartosEstocástico con un agente aleatorio.")
    entornos_o.simulador(DosCuartosEstocástico(), AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']), pasos)

    print("Prueba en DosCuartosEstocástico con un agente racional.")
    entornos_o.simulador(DosCuartosEstocástico(), AgenteDosCuartosEstocástico(), pasos)
def test():
    """
    Prueba del entorno y los agentes
    """

    #print("Prueba del entorno con un agente aleatorio")
    #entornos_o.simulador( SeisCuartos(), AgenteAleatorio(["ir_Derecha", "ir_Izquierda", "subir", "bajar", "limpiar", "nada"]), 100 )

    #print("Prueba del entorno con un agente reactivo")
    #entornos_o.simulador( SeisCuartos(), AgenteReactivoSeiscuartos(), 100 )

    print("Prueba del entorno con un agente reactivo con modelo")
    entornos_o.simulador(DosCuartos(), AgenteReactivoModeloDosCuartos(), 100)
예제 #10
0
def hacerPruebaEjercicio3(pasos):
    """
    Prueba el AgenteDosCuartosCiego y el AgenteAleatorio (de doscuartos_o)
    en el entorno DosCuartosCiego.

    @param pasos: Número de pasos de la simulación.
    """

    print("Prueba en DosCuartosCiego con un agente aleatorio.")
    entornos_o.simulador(DosCuartosCiego(), AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']), pasos)

    print("Prueba en DosCuartosCiego con un agente racional.")
    entornos_o.simulador(DosCuartosCiego(), AgenteDosCuartosCiego(), pasos)
예제 #11
0
def test():
    entornos_o.simulador(
        SeisCuartos(),
        AgenteAleatorio([
            "ir_Derecha", "ir_Izquierda", "subir", "bajar", "limpiar", "nada"
        ]), 100)
    entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 100)
    entornos_o.simulador(DosCuartosEstocastico(),
                         AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),
                         100)
    entornos_o.simulador(DosCuartosCiego(),
                         AgenteReactivoModeloDosCuartosCiego(), 100)
    entornos_o.simulador(DosCuartosCiego(),
                         AgenteReactivoModeloDosCuartosCiego(), 100)
예제 #12
0
def test():
    """
    Prueba del entorno y los agentes

    """
    '''    print("Prueba del entorno con un agente aleatorio")
    entornos_o.simulador(DosCuartos(),
                         AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),
                         100)

    print("Prueba del entorno con un agente reactivo")
    entornos_o.simulador(DosCuartos(), AgenteReactivoDoscuartos(), 100)
    '''
    print("Prueba del entorno con un agente reactivo con modelo")
    entornos_o.simulador(DosCuartos(), AgenteReactivoModeloDosCuartos(), 100)
def test_dos_cuartos_ciego(cuarto_inicial='A'):
    """
    Prueba entorno dos cuartos ciego

    """
    estados = [cuarto_inicial, "sucio", "sucio"]
    acciones = ["ir_A", "ir_B", "limpiar", "nada"]
    entorno = DosCuartosCiego(estados[:])
    agente_modelo = AgenteReactivoModeloDosCuartosCiego(entorno.x)

    print(
        "Prueba del entorno dos cuartos ciego con un agente basado en modelo")
    simulador(entorno, agente_modelo, 100)

    entorno = DosCuartosCiego(estados[:])
    agente_aleatorio = AgenteAleatorio(acciones[:])

    print("Prueba del entorno dos cuartos ciego con un agente aleatorio")
    simulador(entorno, agente_aleatorio, 100)
예제 #14
0
def test():
    """
    Prueba del entorno y los agentes

    """
    print("Prueba del entorno con un agente reactivo con modelo")
    ultimo_estado_m, _, desempeño_m = entornos_o.simulador(
        NueveCuartos(), AgenteReactivoModeloNueveCuartos(), 200)

    print("Prueba del entorno con un agente ciego")
    ultimo_estado_c, _, desempeño_c = entornos_o.simulador(
        NueveCuartosCiego(), AgenteCiego(), 50)

    print("Prueba del entorno estocástico")
    ultimo_estado_e, _, desempeño_e = entornos_o.simulador(
        NueveCuartosEstocástico(), AgenteReactivoModeloNueveCuartos(), 50)

    print("Prueba del entorno con un agente aleatorio")
    ultimo_estado_a, _, desempeño_a = entornos_o.simulador(
        NueveCuartos(),
        AgenteAleatorio([
            'ir_Izquierda', 'ir_Derecha', 'limpiar', 'nada', "subir", "bajar"
        ]), 200)
    print("Agente reactivo con modelo:")
    print("Ultimo Estado: ", ultimo_estado_m[-1], "\nDesempeño: ",
          desempeño_m[-1], "\n")

    print("Agente aleatorio:")
    print("Ultimo Estado: ", ultimo_estado_a[-1], "\nDesempeño: ",
          desempeño_a[-1], "\n")

    print("Agente en entorno estocástico:")
    print("Ultimo Estado: ", ultimo_estado_e[-1], "\nDesempeño: ",
          desempeño_e[-1], "\n")

    print("Agente ciego:")
    print("Ultimo Estado: ", ultimo_estado_c[-1], "\nDesempeño: ",
          desempeño_c[-1], "\n")
def test():
    """
    Prueba del entorno y los agentes

    """
    print(
        "Prueba del entorno SeisCuartos con un Agente Reactivo Basado en modelo"
    )
    entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 100)

    print("Prueba del entorno SeisCuartos con un Agente Aleatorio: ")
    entornos_o.simulador(SeisCuartos(), AgenteAleatorioSeisCuartos(), 100)

    print("Prueba del entorno DosCuartosCiego con un Agente Racional")
    entornos_o.simulador(DosCuartosCiego(), AgenteDosCuartosCiego(), 100)

    print("Prueba del entorno DosCuartosEstocástico con Agente Racional")
    entornos_o.simulador(DosCuartosEstocástico(),
                         AgenteDosCuartosEstocastico(), 100)
    print("Prueba del entorno DosCuartos con Agente Aleatorio")
    entornos_o.simulador(
        doscuartos_o.DosCuartos(),
        doscuartos_o.AgenteAleatorio(["ir_A", "ir_B", "limpiar", "nada"]), 100)
def test_seis_cuartos(cuarto_inicial='B'):
    """
    Prueba para el entorno seis cuartos

    """

    estados = [
        cuarto_inicial, "sucio", "sucio", "sucio", "sucio", "sucio", "sucio"
    ]
    acciones = [
        "ir_Derecha", "ir_Izquierda", "subir", "bajar", "limpiar", "nada"
    ]
    entorno = SeisCuartos(estados[:])
    agente_modelo = AgenteReactivoModeloSeisCuartos(entorno.x)

    print("Prueba del entorno seis cuartos con un agente basado en modelo")
    simulador(entorno, agente_modelo, 100)

    entorno = SeisCuartos(estados[:])
    agente_aleatorio = AgenteAleatorio(acciones[:])

    print("Prueba del entorno seis cuartos con un agente aleatorio")
    simulador(entorno, agente_aleatorio, 100)
예제 #17
0
def test():
    """
    Prueba del entorno y los agentes
    """
    print("Prueba del entorno con un agente aleatorio (entorno Seis Cuartos)")
    print("Representación del Entorno Seis Cuartos:\n\n |A|B|C| \n |D|E|F|")
    entornos_o.simulador(
        SeisCuartos(),
        doscuartos_o.AgenteAleatorio([
            "ir_Derecha", "ir_Izquierda", "subir", "bajar", "limpiar", "nada"
        ]), 100)
    print("Prueba del entorno con un agente reactivo (entorno Seis Cuartos)")
    print("Representación del Entorno Seis Cuartos:\n\n |A|B|C| \n |D|E|F|")
    entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 100)
    print("Prueba del entorno dos cuartos con un agente reactivo ciego")
    entornos_o.simulador(DosCuartosCiego(),
                         AgenteReactivoCiegoModeloDosCuartos(), 100)
    print("Prueba del entorno con agente reactivo con probabilidad de fallo")
    entornos_o.simulador(doscuartos_o.DosCuartos(),
                         AgenteReactivoModeloDosCuartosProbabilidadFallo(),
                         100)
예제 #18
0
def test():
    """
    Prueba del entorno y los agentes
    """
    print("Prueba del entorno con un agente aleatorio en seis cuartos.")
    entornos_o.simulador(
        SeisCuartos(),
        AgenteAleatorio(
            ('ir_Der', 'ir_Izq', 'subir', 'bajar', 'limpiar', 'nada')), 100)

    print(
        "Prueba del entorno con un agente reactivo con modelo de seis cuartos."
    )
    entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 100)

    print("Prueba del entorno con un agente aleatorio en dos cuartos.")
    entornos_o.simulador(DosCuartos(),
                         AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),
                         100)

    print("Prueba del entorno con un agente ciego en dos cuartos.")
    entornos_o.simulador(DosCuartos(), AgenteDoscuartosCiegos(), 100)
def test():
    """
    Prueba del entorno y los agentes

    """
    #Prueba del inciso 1 y 2
    print("Prueba del entorno con un agente aleatorio con seis cuartos")
    SeisCuartosAcciones = [
        "ir_Derecha", "ir_Izquierda", "subir", "bajar", "limpiar", "nada"
    ]
    entornos_o.simulador(SeisCuartos(),
                         AgenteAleatorioSeisCuartos(SeisCuartosAcciones), 100)

    print(
        "Prueba del entorno con un agente reactivo con modelo con seis cuartos"
    )
    entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 100)

    #Prueba del inciso 3
    print("Prueba del entorno con un agente aleatorio con dos cuartos")
    entornos_o.simulador(DosCuartosCiego(),
                         AgenteAleatorio(["ir_A", "ir_B", "limpiar", "nada"]),
                         100)

    print(
        "Prueba del entorno con un agente reactivo con modelo con dos cuartos ciego"
    )
    entornos_o.simulador(DosCuartosCiego(),
                         AgenteReactivoModeloDosCuartosCiego(), 100)

    #Prueba del inciso 4
    print(
        "Prueba del entorno con un agente aleatorio con dos cuartos estocástico"
    )
    entornos_o.simulador(DosCuartosEstocástico(),
                         AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),
                         100)

    print(
        "Prueba del entorno con un agente reactivo con modelo con dos cuartos estocástico"
    )
    entornos_o.simulador(DosCuartosEstocástico(),
                         AgenteReactivoModeloDosCuartos(), 100)
예제 #20
0
def test():
    """
    Pruebas de los puntos 1, 2, 3 y 4

    """

    print(
        "En general, todos los cuartos comienzan sucios y el agente comienza en el cuarto de mas arriba e izquierda."
    )

    print("Punto 1 y 2\n")
    print("Agente reactivo con modelo 6 cuartos:")
    entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 50)

    pausa()

    print("Agente aleatorio seis cuartos:")
    entornos_o.simulador(SeisCuartos(), AgenteAleatorioRestriccion(), 50)

    pausa()

    print("Punto 3\n")
    print("Agente reactivo con modelo 2 cuartos ciego:")
    entornos_o.simulador(DosCuartosCiego(), AgenteReactivoDosCuartosCiego(),
                         50)

    pausa()

    print("Agente aleatorio 2 cuartos ciego:")
    entornos_o.simulador(
        DosCuartosCiego(),
        doscuartos_o.AgenteAleatorio(
            ['ir_Derecha', 'ir_Izquierda', 'limpiar', 'nada']), 50)

    pausa()

    print("Punto 4\n")
    print("Agente reactivo con modelo 2 cuartos estocastico:")
    entornos_o.simulador(DosCuartosEstocastico(),
                         doscuartos_o.AgenteReactivoModeloDosCuartos(), 50)

    pausa()

    print("Agente aleatorio 2 cuartos estocastico:")
    entornos_o.simulador(
        DosCuartosEstocastico(),
        doscuartos_o.AgenteAleatorio(
            ['ir_Derecha', 'ir_Izquierda', 'limpiar', 'nada']), 50)
예제 #21
0
    def programa(self, percepción):
        i, j = percepción[0], percepción[1]
        suposición = [i, j, self.modelo[2 + i * 3 + j]]
        acción = super().programa(suposición)

        if acción == 'limpiar':
            suposición[2] = 0

        super().actualizar_modelo(suposición)

        return acción


if __name__ == "__main__":
    print("Prueba del entorno NueveCuartos con un agente aleatorio")
    simulador(NueveCuartos(), AgenteAleatorioNueveCuartos(), 200)

    print("Prueba del entorno NueveCuartos con un agente reactivo con modelo")
    simulador(NueveCuartos(), AgenteReactivoModeloNueveCuartos(), 200)

    print("Prueba del entorno NueveCuartosCiego con un agente aleatorio")
    simulador(NueveCuartosCiego(), AgenteAleatorioNueveCuartos(), 200)

    print(
        "Prueba del entorno NueveCuartosCiego con un agente reactivo con modelo"
    )
    simulador(NueveCuartosCiego(), AgenteReactivoModeloNueveCuartosCiego(),
              200)

# Requiere el modulo entornos_o.py
# Usa el modulo doscuartos_o.py para reutilizar código
def test():
    """
    Prueba del entorno y los agentes

    """
    print(
        "ENTORNO: SEIS CUARTOS \n Prueba del entorno con un agente aleatorio")
    entornos_o.simulador(
        SeisCuartos(),
        AgenteAleatorio(['ir_D', 'ir_I', 'subir', 'bajar', 'limpiar', 'nada']),
        100)

    print(
        "ENTORNO: SEIS CUARTOS \n Prueba del entorno con un agente reactivo con modelo"
    )
    entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 100)

    ##############

    print(
        "ENTORNO: DOS CUARTOS CIEGO \n Prueba del entorno con un agente aleatorio"
    )
    entornos_o.simulador(DosCuartosCiego(),
                         AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),
                         100)

    print(
        "ENTORNO: DOS CUARTOS CIEGO \n Prueba del entorno con un agente reactivo con modelo"
    )
    entornos_o.simulador(DosCuartosCiego(),
                         AgenteReactivoModeloDosCuartosCiego(), 100)

    ###############

    print(
        "ENTORNO: DOS CUARTOS ESTOCÁSTICO \n Prueba del entorno con un agente aleatorio"
    )
    entornos_o.simulador(DosCuartosEstocastico(),
                         AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),
                         100)

    print(
        "ENTORNO: DOS CUARTOS ESTOCÁSTICO \n Prueba del entorno con un agente reactivo con modelo"
    )
    entornos_o.simulador(DosCuartosEstocastico(), ARM_DosCuartosEstocastico(),
                         100)
예제 #23
0
def test():
    print("Punto 1 y 2 ")
    #entornos_o.simulador(SeisCuartos(),AgenteReactivoSeisCuartos(),100)
    #entornos_o.simulador(DosCuartosCiego(),AgenteAleatorioDosCuartosCiego(),100)
    entornos_o.simulador(DosCuartos(), AgenteEstocastico(), 100)
예제 #24
0
def test2():
    print("Prueba del entorno DosCuartosCiego con un agente aleatorio")
    entornos_o.simulador(DosCuartosCiego(),doscuartos_o.AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),100)

    print("Prueba del entorno DosCuartosCiego con un agente reactivo con modelo")
    entornos_o.simulador(DosCuartosCiego(), AgenteRacional(), 100)
예제 #25
0
def test():
    """
    Prueba del entorno y los agentes

    """
    print("Prueba del entorno  SeisCuartos con un agente aleatorio")
    entornos_o.simulador(
        SeisCuartos(
            ["A", "sucio", "sucio", "sucio", "sucio", "sucio", "sucio"]),
        AgenteAleatorio([
            'ir_Derecha', 'ir_Izquierda', 'limpiar', 'nada', 'subir', 'bajar'
        ]), 100)
    print("Prueba del entorno SeisCuartos con un agente reactivo con modelo")
    entornos_o.simulador(
        SeisCuartos(
            ["A", "sucio", "sucio", "sucio", "sucio", "sucio", "sucio"]),
        AgenteReactivoModeloSeisCuartos(), 100)

    print("Prueba del entorno  DosCuartosCiego con un agente aleatorio")
    entornos_o.simulador(DosCuartosCiego(["A", "sucio", "sucio"]),
                         AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),
                         100)
    print(
        "Prueba del entorno DosCuartosCiego con un agente reactivo con modelo")
    entornos_o.simulador(DosCuartosCiego(),
                         AgenteReactivoModeloDoscuartosCiego(), 100)

    print("Prueba del entorno  DosCuartosEstocastico con un agente aleatorio")
    entornos_o.simulador(DosCuartosEstocástico(["A", "sucio", "sucio"]),
                         AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']),
                         100)
    print("Prueba del entorno  DosCuartosEstocastico con un agente reactivo")
    entornos_o.simulador(DosCuartosEstocástico(),
                         AgenteReactivoModeloDosCuartosEstocástico(), 100)
    print(
        "Prueba del entorno  DosCuartosEstocastico con un agente reactivo con probabilidades"
    )
    entornos_o.simulador(DosCuartosEstocástico(),
                         AgenteReactivoModeloDosCuartosEstocástico(), 100)
예제 #26
0
                self.x[0] = "D"
        elif acción is "subir":
            if robot is "D":
                self.x[0] = "A"
            elif robot is "E":
                self.x[0] = "B"
            elif robot is "F":
                self.x[0] = "C"
        elif acción is "bajar":
            if robot is "A":
                self.x[0] = "D"
            elif robot is "B":
                self.x[0] = "E"
            elif robot is "C":
                self.x[0] = "F"

    def percepción(self):
        return self.x[0], self.x[" ABCDEF".find(self.x[0])]


if __name__ == "__main__":
    print("Prueba del entorno con un agente aleatorio")
    entornos_o.simulador(
        SeisCuartos(),
        doscuartos_o.AgenteAleatorio([
            "ir_Derecha", "ir_Izquierda", "subir", "bajar", "limpiar", "nada"
        ]), 100)

    print("Prueba del entorno con un reactivo basado en modelo")
    entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 100)
        robot = percepcion
        self.contador += 1

        if self.contador == 1 or self.contador == 3:
            return 'limpiar'

        if self.contador == 2:
            return ('ir_A' if robot == 'B' else 'ir_B')
        else:
            return 'No_op'


print("Prueba del entorno con un agente aleatorio Seis Cuartos")
entornos_o.simulador(
    SeisCuartos(),
    AgenteAleatorio(
        ['ir_Izquierda', 'ir_Derecha', 'subir', 'bajar', 'limpiar', 'No_op']),
    100)
print("Prueba del entorno con un agente Reactivo Seis Cuartos")
entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 100)
"""
    Para el agente aleatorio tiene un desempeño peor que el modelo
    Para el modelo de seis cuartos el agente Reactivo basado en modelo lo limpia todo
    para el paso 12 con un desempeño de -12
"""

print("Prueba del entorno con un agente racional Modelo Ciego")
entornos_o.simulador(DosCuartosCiego(), AgenteRacionalDosCuartos(), 50)

print("Prueba del entorno con un agente aleatorio Modelo Ciego")
entornos_o.simulador(
예제 #28
0
def test():
    """
    Prueba del entorno y los agentes

    """
    print("Prueba del entorno con un agente aleatorio")
    entornos_o.simulador(SeisCuartos(),
                         AgenteAleatorio(['ir_Izquierda', 'ir_Derecha','subir','bajar', 'limpiar', 'nada']),
                         100)

    print("Prueba del entorno con un agente reactivo con modelo")
    entornos_o.simulador(SeisCuartos(), AgenteReactivoModeloSeisCuartos(), 100)

    print("Prueba del entorno con un agente aleatorio")
    entornos_o.simulador(DosCuartosCiegos(), AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']), 100)
    
    print("Prueba del entorno con un agente racional ciego")
    entornos_o.simulador(DosCuartosCiegos(), AgenteRacionalCiego(), 100)
    
    print("Prueba del entorno con un agente aleatorio")
    entornos_o.simulador(DosCuartosEstocástico(), AgenteAleatorio(['ir_A', 'ir_B', 'limpiar', 'nada']), 100)

    print("Prueba del entorno con un agente racional estocástico")
    entornos_o.simulador(DosCuartosEstocástico(), AgenteRacionalEstocástico(), 100)