Biological entities (ranging from bacteria to humans) can engage in many and varied types of social interaction, from altruistic cooperation to open conflict. A paradigmatic case of social interaction is cooperative problem solving (CPS), where a group of autonomous entities work together to achieve a common goal. For example, we might find a group of people working together to move a heavy object, play a symphony, choose a business strategy, or write a joint paper. CPS has been studied by researchers from a variety of areas such as distributed A. I., soft computing, economics, philosophy, organization science, and the social and natural sciences among others.
Key Terms in this Chapter
Clustering: The process of organizing objects into groups whose members are similar in some way. A cluster is therefore a collection of objects, which are “similar” between them and are “dissimilar” to the objects belonging to other clusters.
Agent: A computer system capable of flexible autonomous action in dynamic, unpredictable, and open environment. An autonomous entity capable of executing tasks either by itself or by collaborating with other agents (Luck, 2003; Mas, 2005).
Simulation: A simulation is the process of testing an idea or algorithm or the evolution of a complex system without having to test it directly in the real system or problem, by means of something suitably analogous that normally is easier to test or implies less costs (such as money or time).
Optimization: Process of improving a system in certain ways to reduce the effective runtime, its memory requirements, different kinds of costs… Despite its name, optimization does not necessarily mean finding the optimum solution to a problem. Often this is not possible and heuristic algorithms must be used instead.
Cooperative Problem Solving (CPS): Is a way of social interaction where a group of autonomous entities work together to achieve a common goal. In the context of optimization problems, this situation can be seen as follows: the goal is to find the “best” solution for the problem at hand, while the “entities” can be thought as optimization algorithms.
Fuzzy Logic: Fuzzy logic is a superset of conventional (Boolean) logic that has been extended to handle the concept of partial truth (truth values between “completely true” and “completely false”). It was introduced by Dr. Zadeh in the 1960’s as a means to model the uncertainty of natural language. (Zadeh, 1965).
Nature-Inspired Computing: It consists in the use of methods inspired by nature to solve problems in a computer. The inspiration is mainly taken from natural biological information processing systems, such as chemical processes, cooperation between beings and so on. Some examples of nature-inspired computation are simulated annealing, ant colony optimization, or cooperative problem solving (CPS).
Fuzzy Rules: In general, in rule-based systems, rules look something like: If A1 and A2 and … An then C1 and C2 and … Cm; where the Ai are the antecedents (conditions) on the left hand side (LHS) of the rule and the Cj are the consequents (conclusions) on the right hand side (RHS) of the rule. In this format, if all of the antecedents on the LHS of the rule are true then the rule will fire and the consequents will be asserted / executed. With Fuzzy rules both antecedents and conclusions can be of fuzzy nature.