示例#1
0
 def __init__(self):
     self.auxs = 0
     self.auxd = 0
     self.somnolencia = ""
     self.atencion = ""
     self.estado = ""
     self.esres = ""
     self.aux = False
     self.reglas = ld.iniReglas()
     self.iniBloqueDifusor()
示例#2
0
 def __init__(self):
     self.auxs = 0
     self.auxd = 0
     self.somnolencia = ""
     self.atencion = ""
     self.estado = ""
     self.esres = ""
     self.aux = False
     self.reglas = ld.iniReglas()
     self.iniBloqueDifusor()
示例#3
0
    def motorDifuso(self, Somnolencia, Atencion):
        if Somnolencia < 0.00000:
            Somnolencia = 0.00001
        if Somnolencia > 10:
            Somnolencia = 9.99999
        if Atencion < 0.00000:
            Atencion = 0.00001
        if Atencion > 10:
            Atencion = 9.99999
        fsomnolencia = ld.fusificar(Somnolencia, self.somnolencia)
        fatencion = ld.fusificar(Atencion, self.atencion)

        motor = ld.inicializarMotor()
        ld.agregarAlMotor(motor, self.somnolencia, fsomnolencia)
        ld.agregarAlMotor(motor, self.atencion, fatencion)

        resultado = ld.procesar(self.reglas, motor, self.estado)
        return resultado
示例#4
0
    def motorDifuso(self,Somnolencia,Atencion):
        if Somnolencia<0.00000:
           Somnolencia = 0.00001
        if Somnolencia>10:
           Somnolencia = 9.99999
        if Atencion<0.00000:
           Atencion = 0.00001
        if Atencion>10:
           Atencion = 9.99999
        fsomnolencia = ld.fusificar(Somnolencia,self.somnolencia)
        fatencion = ld.fusificar(Atencion,self.atencion)


        motor = ld.inicializarMotor()
        ld.agregarAlMotor(motor,self.somnolencia,fsomnolencia)
        ld.agregarAlMotor(motor,self.atencion,fatencion)

        resultado = ld.procesar(self.reglas,motor,self.estado)
        return resultado
示例#5
0
    def iniBloqueDifusor(self):
        self.somnolencia = ld.declararConjunto("Somnolencia", 0.00000,
                                               10.00000)
        ld.variableLinguistica(self.somnolencia, "Pocas")
        ld.variableLinguistica(self.somnolencia, "Intermedias")
        ld.variableLinguistica(self.somnolencia, "Dormido")

        ld.asignarFuncionPertenencia(self.somnolencia, 0, "Triangular",
                                     (0.00000, 02.50000, 05.00000))
        ld.asignarFuncionPertenencia(self.somnolencia, 1, "Triangular",
                                     (02.50001, 05.00001, 07.50000))
        ld.asignarFuncionPertenencia(self.somnolencia, 2, "Triangular",
                                     (05.00002, 07.50001, 10.00000))

        self.atencion = ld.declararConjunto("Atento", 0.00000, 10.00000)
        ld.variableLinguistica(self.atencion, "Poco")
        ld.variableLinguistica(self.atencion, "Moderado")
        ld.variableLinguistica(self.atencion, "Atento")

        ld.asignarFuncionPertenencia(self.atencion, 0, "Triangular",
                                     (0.00000, 02.50000, 05.00000))
        ld.asignarFuncionPertenencia(self.atencion, 1, "Triangular",
                                     (02.500001, 05.00001, 07.50000))
        ld.asignarFuncionPertenencia(self.atencion, 2, "Triangular",
                                     (05.00002, 07.50001, 10.00000))

        self.estado = ld.declararConjunto("Estado", 0.00000, 5.00000)
        ld.variableLinguistica(self.estado, "Atento")
        ld.variableLinguistica(self.estado, "Distraido")
        ld.variableLinguistica(self.estado, "Somnoliento")
        ld.variableLinguistica(self.estado, "Dormido")

        ld.asignarFuncionPertenencia(self.estado, 0, "Triangular",
                                     (0.00000, 1.00000, 2.00000))
        ld.asignarFuncionPertenencia(self.estado, 1, "Triangular",
                                     (1.00001, 2.00001, 3.00000))
        ld.asignarFuncionPertenencia(self.estado, 2, "Triangular",
                                     (2.00002, 3.00001, 4.00000))
        ld.asignarFuncionPertenencia(self.estado, 3, "Triangular",
                                     (3.00002, 4.00001, 5.00000))

        ld.crearReglas(
            self.reglas,
            "if Somnolencia is Pocas and Atento is Poco then Estado is Distraido"
        )
        ld.crearReglas(
            self.reglas,
            "if Somnolencia is Intermedias and Atento is Poco then Estado is Distraido"
        )
        ld.crearReglas(
            self.reglas,
            "if Somnolencia is Dormido and Atento is Poco then Estado is Dormido"
        )

        ld.crearReglas(
            self.reglas,
            "if Somnolencia is Pocas and Atento is Moderado then Estado is Distraido"
        )
        ld.crearReglas(
            self.reglas,
            "if Somnolencia is Intermedias and Atento is Moderado then Estado is Somnoliento"
        )
        ld.crearReglas(
            self.reglas,
            "if Somnolencia is Dormido and Atento is Moderado then Estado is Dormido"
        )

        ld.crearReglas(
            self.reglas,
            "if Somnolencia is Pocas and Atento is Atento then Estado is Atento"
        )
        ld.crearReglas(
            self.reglas,
            "if Somnolencia is Intermedias and Atento is Atento then Estado is Somnoliento"
        )
        ld.crearReglas(
            self.reglas,
            "if Somnolencia is Dormido and Atento is Atento then Estado is Dormido"
        )
示例#6
0
    def iniBloqueDifusor(self):
        self.somnolencia = ld.declararConjunto("Somnolencia",0.00000,10.00000)
        ld.variableLinguistica(self.somnolencia,"Pocas")
        ld.variableLinguistica(self.somnolencia,"Intermedias")
        ld.variableLinguistica(self.somnolencia,"Dormido")

        ld.asignarFuncionPertenencia(self.somnolencia,0,"Triangular",(0.00000,02.50000,05.00000))
        ld.asignarFuncionPertenencia(self.somnolencia,1,"Triangular",(02.50001,05.00001,07.50000))
        ld.asignarFuncionPertenencia(self.somnolencia,2,"Triangular",(05.00002,07.50001,10.00000))


        self.atencion = ld.declararConjunto("Atento",0.00000,10.00000)
        ld.variableLinguistica(self.atencion,"Poco")
        ld.variableLinguistica(self.atencion,"Moderado")
        ld.variableLinguistica(self.atencion,"Atento")

        ld.asignarFuncionPertenencia(self.atencion,0,"Triangular",(0.00000,02.50000,05.00000))
        ld.asignarFuncionPertenencia(self.atencion,1,"Triangular",(02.500001,05.00001,07.50000))
        ld.asignarFuncionPertenencia(self.atencion,2,"Triangular",(05.00002,07.50001,10.00000))


        self.estado = ld.declararConjunto("Estado",0.00000,5.00000)
        ld.variableLinguistica(self.estado,"Atento")
        ld.variableLinguistica(self.estado,"Distraido")
        ld.variableLinguistica(self.estado,"Somnoliento")
        ld.variableLinguistica(self.estado,"Dormido")

        ld.asignarFuncionPertenencia(self.estado,0,"Triangular",(0.00000,1.00000,2.00000))
        ld.asignarFuncionPertenencia(self.estado,1,"Triangular",(1.00001,2.00001,3.00000))
        ld.asignarFuncionPertenencia(self.estado,2,"Triangular",(2.00002,3.00001,4.00000))
        ld.asignarFuncionPertenencia(self.estado,3,"Triangular",(3.00002,4.00001,5.00000))


        ld.crearReglas(self.reglas,"if Somnolencia is Pocas and Atento is Poco then Estado is Distraido")
        ld.crearReglas(self.reglas,"if Somnolencia is Intermedias and Atento is Poco then Estado is Distraido")
        ld.crearReglas(self.reglas,"if Somnolencia is Dormido and Atento is Poco then Estado is Dormido")

        ld.crearReglas(self.reglas,"if Somnolencia is Pocas and Atento is Moderado then Estado is Distraido")
        ld.crearReglas(self.reglas,"if Somnolencia is Intermedias and Atento is Moderado then Estado is Somnoliento")
        ld.crearReglas(self.reglas,"if Somnolencia is Dormido and Atento is Moderado then Estado is Dormido")

        ld.crearReglas(self.reglas,"if Somnolencia is Pocas and Atento is Atento then Estado is Atento")
        ld.crearReglas(self.reglas,"if Somnolencia is Intermedias and Atento is Atento then Estado is Somnoliento")
        ld.crearReglas(self.reglas,"if Somnolencia is Dormido and Atento is Atento then Estado is Dormido")