Controllo della temperatura di una stanza
- SE Temperatura è BASSA ALLORA PotenzaRiscaldamento è ALTA.
- SE Temperatura è CONFORTEVOLE ALLORA PotenzaRiscaldamento è MEDIA.
- SE Temperatura è ALTA ALLORA PotenzaRiscaldamento è BASSA.
Logica Fuzzy · Regole in Pratica
Dal linguaggio naturale alla base di regole, per progettare sistemi fuzzy chiari e robusti.
Molti sistemi fuzzy nascono da frasi del tipo:
"Se la temperatura è alta e l'umidità è bassa allora la velocità della ventola deve essere alta".
Il lavoro principale è tradurre queste frasi in elementi formali:
Una regola tipica in uno schema Mamdani ha la forma:
SE Temperatura è ALTA E Umidità è BASSA ALLORA VelocitàVentola è ALTA
Le parti principali sono:
È spesso utile partire da regole proposte da esperti di dominio e poi affinare i parametri tramite dati (approccio neuro-fuzzy).
In Python si possono rappresentare le regole in vari modi, ad esempio come strutture dati che collegano nomi di variabili, etichette fuzzy e operatori.
rule = {
"antecedent": [
("temperatura", "alta"),
("umidita", "bassa")
],
"operator": "AND",
"consequent": ("velocita_ventola", "alta")
}
Un motore di inferenza leggerà queste strutture, calcolerà i gradi di verità dell'antecedente e costruirà il contributo fuzzy all'uscita, come descritto nella pagina sullo Schema Mamdani.