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 |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |