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()
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
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
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" )
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")