# Soft Computing #### Andrea Bonarini ##### 5 October 2015 #### What is Soft Computing? The term was introduced by Lotfi Zadeh, the father of fuzzy sets, to denote programming techniques not related to *traditional* programming languages: - Fuzzy systems - Neural networks - Stochastic systems ##### definition A set of techniques to model systems (input-output mapping) by approximating them. ##### Modelling technique: generalization Considers a small sample of the entity to make an approximate model, #### Model - Is a *representation* of some entity, defined for a *specific purpose*. - Is limited to aspects of the entity represented which are *relevant for the purpose* - A model is different to the represented entity ex: map vs land - Models lead to *approximation, uncertainty, imprecision*. ##### Approximation The model features are similar to the real ones but not the same. ##### Uncertainty We are not sure that the features of the model are the same of the entity. ##### Imprecision The model features values are not precise. #### Techniques - ##### Fuzzy sets: Correct model in a finite number of points, smooth transistion (approximation) among them. ex: in a thermal control system we fix the normal working point and the critical one, and the system approximates the behaviour between. - ##### Neural networks input-output samples, learning algorithms to define output values for unknown values. - ##### Genetic algorithms Optimal solution, obtained by evaluating populations of tentative solutions and combining their parts (sort of copying from nature). #### Applications: From washing machines to helicopters, to rice cookers ### Fuzzy Sets Were created in 1965 by Lotfi Zadeh The principle is to make computation with words. #### What is a fuzzy set? Is a set whose membership function can range on the interval [0,1]. On contrary to __crisp sets__ that admit only {0,1} ###### A membership function defines a set ###### Defines the degree of membership of an element to the set μ: U -> [0,1] #### How to define membership functions - select a variable - distance - define a range of the variable - [0..10] - identify labels - close, medium, far - for each label identify the charachteristic points - 0, max, middle values, where MF=1, ... - identify function shapes - linear - check #####Membership functions can also overlap, and this quality is useful for example in classification of a noisy input, in fact with overlapping MF we have a *smooth transition* from a label to another #### MF and concepts __MFs__ define __fuzzy sets__ __Labels__ denote __fuzzy sets__ __Fuzzy sets__ can be considered as conceptual representations #### Symbol grounding Reason in terms of concepts and grounds them to reality.