Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » referate » informatica
PROIECT LA DISCIPLINA SISTEME BAZATE PE CUNOSTINTE IN CONDUCEREA PROCESELOR - REGULATOR FUZZY PENTRU MASINA DE SPALAT INTELIGENTA

PROIECT LA DISCIPLINA SISTEME BAZATE PE CUNOSTINTE IN CONDUCEREA PROCESELOR - REGULATOR FUZZY PENTRU MASINA DE SPALAT INTELIGENTA




UNIVERSITATEA DUNAREA DE JOS GALATI

FACULTATEA DE STIINTA CALCULATOARELOR

PROIECT LA DISCIPLINA SISTEME BAZATE PE CUNOSTINTE IN CONDUCEREA PROCESELOR

REGULATOR FUZZY PENTRU MASINA DE SPALAT INTELIGENTA



In aceasta lucrare este prezentat un posibil regulator fuzzy care poate controla unele functii ale unei masini de spalat rufe.

Regulatorul controleaza doua iesiri:

Cantitatea de detergent necesara spalarii, variabila fuzzy care are urmatoarea multime a termenilor de baza :

Timpul de spalare, variabila fuzzy care are urmatoarea multime a termenilor de baza :

Comanda iesirilor se face in functie de valorile a trei intrari:

Gradul de murdarie a rufelor, variabila fuzzy care are urmatoarea multime a termenilor de baza :

Gradul de uzura a rufelor, variabila fuzzy care are urmatoarea multime a termenilor de baza :

Primul caz este considerat cand cantitatea de rufe din masina este mica, rufele sunt putin uzate si gradul de murdarie este minim (putin murdare). In aceste caz se considera iesirile: cantitatea de detergent foarte mica si timplul de spalare de 15 minute (timp minim). Rufele sunt deci fie curate fie foarte putin murdare si masina va avea un consum de energie si detergent minim pentru o spalare optima.

Daca gradul de murdarie este murdare sau foarte murdare atunci timpul de spalare va creste cu 2 respectiv 5 minute, cantitatea de detergent ramanand nemodificata.

Daca rufele sunt uzate sau foarte uzate atunci timpul de spalare va creste cu 5 respectiv 10 minute fata de cazul cand sunt putin uzate si in plus cantitatea de detergent va deveni mica respectiv medie.

Daca cantitatea de rufe este medie sau mare atunci timpul de spalare va creste cu 10 respectiv 20 minute fata de cazut cand ea este mica. De asemenea si cantitatea de detergent va fi mica respectiv medie.

Tabelul intrarilor si al iesirilor pe baza caruia sunt elaborate regulile:

Cantitate Rufe

Grad Murdarie

Grad Uzura

Timp Spalare

Cantitate Detergent

Mica

Putin Murdare

Putin uzat

15

Foarte Mica

Mica

Murdare

Putin uzat

17

Foarte Mica

Mica

Foarte Murdare

Putin uzat

20

Foarte Mica

Mica

Putin Murdare

Uzat

20

Mica

Mica

Murdare

Uzat

22

Mica

Mica

Foarte Murdare

Uzat

25

Mica

Mica

Putin Murdare

Foarte uzat

25

Medie

Mica

Murdare

Foarte uzat

28

Medie

Mica

Foarte Murdare

Foarte uzat

30

Medie

Medie

Putin Murdare

Putin uzat

25

Mica

Medie

Murdare



Putin uzat

28

Mica

Medie

Foarte Murdare

Putin uzat

30

Mica

Medie

Putin Murdare

Uzat

30

Medie

Medie

Murdare

Uzat

32

Medie

Medie

Foarte Murdare

Uzat

35

Medie

Medie

Putin Murdare

Foarte uzat

35

Mare

Medie

Murdare

Foarte uzat

37

Mare

Medie

Foarte Murdare

Foarte uzat

40

Mare

Mare

Putin Murdare

Putin uzat

35

Medie

Mare

Murdare

Putin uzat

37

Medie

Mare

Foarte Murdare

Putin uzat

40

Medie

Mare

Putin Murdare

Uzat

40

Mare

Mare

Murdare

Uzat

42

Mare

Mare

Foarte Murdare

Uzat

45

Mare

Mare

Putin Murdare



Foarte uzat

45

Foarte Mare

Mare

Murdare

Foarte uzat

47

Foarte Mare

Mare

Foarte Murdare

Foarte uzat

50

Foarte Mare

Programul Fuzzy Clips care implementeaza aceste reguli:

(deftemplate cantitate_rufe

0 100 PROCENT

((mica (0 0) (16 1) (33 0))

(medie (33 0) (49 1) (66 0))

(mare (66 0) (83 1) (100 0)))

)

(deftemplate murdarie

0 100 PROCENT

((putin_murdar (0 0) (16 1) (33 0))

(murdar (33 0) (49 1) (66 0))

(foarte_murdar (66 0) (83 1) (100 0)))

)

(deftemplate uzura

0 100 PROCENT

((putin_uzat (0 0) (0.5 1) (1 0))

(uzat (1 0) (25 1) (50 0))

(foarte_uzat (50 0) (75 1) (100 0)))

)

(deftemplate timp_spalare

15 50 MINUTE

((mic (15 0) (22 1) (30 0))

(mare (30 0) (40 1) (50 0)))

)

(deftemplate cantitate_detergent

0 100 PROCENT

((foarte_mica (20 1))

(mica (40 1))

(medie (60 1))

(mare (80 1))

(foarte_mare(100 1)))

)

(deffacts initial

(cantitate_rufe medie)

(murdarie foarte_murdar)

(uzura foarte_uzat)

)

(defrule regula1

(cantitate_rufe mica)

(murdarie putin_murdar)

(uzura putin_uzat)

=>

(assert (crisp-fact timp 15))

(assert (cantitate_detergent foarte_mica))

)

(defrule regula2

(cantitate_rufe mica)

(murdarie murdar)

(uzura putin_uzat)

=>

(assert (crisp-fact timp 17))

(assert (cantitate_detergent foarte_mica))

)

(defrule regula3

(cantitate_rufe mica)

(murdarie foarte_murdar)

(uzura putin_uzat)

=>

(assert (crisp-fact timp 20))

(assert (cantitate_detergent foarte_mica))

)

(defrule regula4

(cantitate_rufe mica)

(murdarie putin_murdar)

(uzura uzat)

=>

(assert (crisp-fact timp 20)

(assert (cantitate_detergent mica))

)

(defrule regula5

(cantitate_rufe mica)

(murdarie murdar)

(uzura uzat)

=>

(assert (crisp-fact timp 22))

(assert (cantitate_detergent mica))

)

(defrule regula6

(cantitate_rufe mica)

(murdarie foarte_murdar)

(uzura uzat)

=>

(assert (crisp-fact timp 25))

(assert (cantitate_detergent mica))

)

(defrule regula7

(cantitate_rufe mica)

(murdarie putin_murdar)

(uzura foarte_uzat)

=>

(assert (crisp-fact timp 25))

(assert (cantitate_detergent medie))

)

(defrule regula8

(cantitate_rufe mica)

(murdarie murdar)

(uzura foarte_uzat)

=>

(assert (crisp-fact timp 28))

(assert (cantitate_detergent medie))

)

(defrule regula9

(cantitate_rufe mica)

(murdarie foarte_murdar)

(uzura foarte_uzat)

=>

(assert (crisp-fact timp 30))

(assert (cantitate_detergent medie))

)

(defrule regula10

(cantitate_rufe medie)

(murdarie putin_murdar)

(uzura putin_uzat)

=>

(assert (crisp-fact timp 25))

(assert (cantitate_detergent mica))

)

(defrule regula11

(cantitate_rufe medie)

(murdarie murdar)

(uzura putin_uzat)

=>

(assert (crisp-fact timp 28))

(assert (cantitate_detergent mica))

)

(defrule regula12

(cantitate_rufe medie)

(murdarie foarte_murdar)

(uzura putin_uzat)

=>

(assert (crisp-fact timp 30))

(assert (cantitate_detergent mica))

)

(defrule regula13

(cantitate_rufe medie)

(murdarie putin_murdar)

(uzura uzat)

=>

(assert (crisp-fact timp 30))

(assert (cantitate_detergent medie))

)

(defrule regula14

(cantitate_rufe medie)

(murdarie murdar)

(uzura uzat)

=>

(assert (crisp-fact timp 32))

(assert (cantitate_detergent medie))

)

(defrule regula15

(cantitate_rufe medie)

(murdarie foarte_murdar)

(uzura uzat)

=>

(assert (crisp-fact timp 35))

(assert (cantitate_detergent medie))

)

(defrule regula16

(cantitate_rufe medie)

(murdarie putin_murdar)

(uzura foarte_uzat)

=>

(assert (crisp-fact timp 35))

(assert (cantitate_detergent mare))

)

(defrule regula17

(cantitate_rufe medie)

(murdarie murdar)

(uzura foarte_uzat)

=>

(assert (crisp-fact timp 37))

(assert (cantitate_detergent mare))

)

(defrule regula18

(cantitate_rufe medie)

(murdarie foarte_murdar)

(uzura foarte_uzat)

=>

(assert (crisp-fact timp 40))

(assert (cantitate_detergent mare))

)

(defrule regula19

(cantitate_rufe mare)

(murdarie putin_murdar)

(uzura putin_uzat)

=>

(assert (crisp-fact timp 35))

(assert (cantitate_detergent medie))

)

(defrule regula20

(cantitate_rufe mare)

(murdarie murdar)

(uzura putin_uzat)

=>

(assert (crisp-fact timp 37))

(assert (cantitate_detergent medie))

)

(defrule regula21

(cantitate_rufe mare)

(murdarie foarte_murdar)

(uzura putin_uzat)

=>

(assert (crisp-fact timp 40))

(assert (cantitate_detergent medie))

)

(defrule regula22

(cantitate_rufe mare)

(murdarie putin_murdar)

(uzura uzat)

=>

(assert (crisp-fact timp 40))

(assert (cantitate_detergent mare))

)

(defrule regula23

(cantitate_rufe mare)

(murdarie murdar)

(uzura uzat)

=>

(assert (crisp-fact timp 42))

(assert (cantitate_detergent mare))

)

(defrule regula24

(cantitate_rufe mare)

(murdarie foarte_murdar)

(uzura uzat)

=>

(assert (crisp-fact timp 45))

(assert (cantitate_detergent mare))

)

(defrule regula25

(cantitate_rufe mare)

(murdarie putin_murdar)

(uzura foarte_uzat)

=>

(assert (crisp-fact timp 45))

(assert (cantitate_detergent foarte_mare))

)

(defrule regula26

(cantitate_rufe mare)

(murdarie murdar)

(uzura foarte_uzat)

=>

(assert (crisp-fact timp 47))

(assert (cantitate_detergent foarte_mare))

)

(defrule regula27

(cantitate_rufe mare)

(murdarie foarte_murdar)

(uzura foarte_uzat)

=>

(assert (crisp-fact timp 50))

(assert (cantitate_detergent foarte_mare))

)







Politica de confidentialitate







creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.