Soft Computing and Its Applications in SE Shafay Shamail Malik Jahan Khan Soft Computing • Difference with conventional computing – Tolerant of imprecision – Uncertainty – Partial truth – Approximation – Vagueness Basic Constituents of SC • • • • • • Fuzzy Logic Neural Computing Evolutionary Computing Machine Learning Probabilistic Reasoning Case-based Reasoning Case-Based Reasoning • Case (Problem-Solution Pair) • Case repository • Similar problems have similar solutions 4 CBR Process Source: A. Aamodt and E. Plaza. Case-based reasoning: Foundational issues, methodological variations, and system approaches. In AI Communications, volume 7:1, pages 39-59. IOS Press, March 1994. 5 4 R’s Cycle • • • • Retrieve Reuse Revise Retain 6 Retrieve • Nearest Neighborhood – Current case is compared with existing cases in the case-base using some similarity measure – Set of nearest neighbors is retrieved whose solution contributes to find the solution of current case using a solution algorithm 7 Similarity Measures • • • • • Euclidean Distance Manhattan Distance Mahalanobis Distance Probabilistic Similarity Measure Rule-based Similarity Measure 8 Euclidean Distance dij = distance between ith and jth cases wk = weight of kth parameter xik = kth parameter of ith case in casebase cjk = kth paramter of jth case in question 9 Reuse • Solution Algorithm – Unweighted average – Weighted average 10 Revise • Revision Process/Adaptation – What is changed in the solution – How the change is achieved • Types of Adaptation – Substitution – Transformation – Generative • Genetic Algorithms based Approach 11 Retain • Implicit assumption that solution was correct • Some output-verification mechanism is needed before decision about retention is taken – Generalization of existing cases – New case addition – Learning algorithm is used to decide about retention 12 CBR and Software Engineering • Predictions – Effort prediction – Cost prediction – Quality prediction – Risk prediction • Software Reuse • Project Planning and Management – E-Government: Decision Making • Autonomic Computing Possible Directions of CBR • Adaptation Algorithms – Domain specific (e.g. for autonomic computing) • Automatic Case Generation • CBR for non-numeric data – Fuzziness • Similarity Measures – Analysis of the tradeoff between complexity and accuracy • …