Ciao a tutti, stavo lavorando a un'idea, praticamente sto realizzando una piccola e molto semplice libreria di logica fuzzy e mi sono trovato davanti un problema (premetto che è da poco che programmo in c#...abbiate pazienza se scrivo castronerie...):
Ho una classe principale FuzzySet che ha come attributi una collezione di fuzzy membri (un punto cartesiano x,y) e una descrizione e poi ho una classe FuzzyNumber che eredita FuzzySet e ha in + un attributo tipo (es. Triangolare, Trapezoidale, Quadratico).
Ho anche un oggetto Collection FuzzySetCollection che ha un metodo find che cerca il fuzzy set con quella descrizione.codice:public class FuzzySet { #region Private Variables /// <summary> /// Un Fuzzy Set ha come attributi un insieme di membri o di Fuzzy Set e una descrizione /// </summary> private FuzzySetCollection fuzzySets; protected FuzzyMemberCollection fuzzyMembers; protected String name; public FuzzySet(FuzzyMemberCollection coll, String name) { this.fuzzyMembers = coll; this.name = name; } // .....etc.... } public class FuzzyNumber : FuzzySet { #region Private Variables /// <summary> /// tipologia di fuzzy Number: triangolare, trapezoidale, quadratico, normalizzato /// </summary> private String type; #endregion #region Constructor public FuzzyNumber(FuzzyMemberCollection coll, String name, String type) : base(coll, name) { this.type = type; } #endregion }
Il problema sta quando per calcolare il valore di verità di una proposizione tipo 35° è caldo io cerco il fuzzy set caldo lo trovo e devo capire se è un fuzzy number...visto che la classe fuzzy number ha in più l'attributo type pensavo di fare un metodo nella classe fuzzy set che controlla se quell'oggetto ha l'attributo type e nel caso fa un cast a fuzzy number...qualcuno ha qualche idea?codice:public FuzzySet find(String name) { foreach (FuzzySet set in this) { if (set.Name.Equals(name)) { return set; } } return null; }
Spero di non essere stato troppo contorto...grazie a tutti!

Rispondi quotando
