Computational intelligence (CI) is a branch of computer science in which projects evolve from bottom to top, with order emerging from an initial lack of structure. This is similar to many processes seen in the natural world. Computational intelligence includes concepts such as evolutionary computation, where problems are solved using models of the evolutionary process, and when it is applied to machine learning, allows robots to learn from experience. Fuzzy logic, a system which resembles human decision-making, can be used to solve problems where there is vagueness or uncertainty. Neural networks are systems based on human brain function and can be used to detect patterns and trends in complex data.
Unlike hard computing, where solutions are guaranteed and problems are limited according to strict conditions, computational intelligence falls under the heading of soft computing, where successful outcomes do not always occur. Computational intelligence often takes inspiration from nature, for example in the field of evolutionary computation, where systems are created which evolve to solve complex problems. This can be applied to artificial or synthetic intelligence, giving rise to robots that learn from experience and develop over time.
Systems based on fuzzy logic can be used in computational intelligence to simulate human ways of thinking. They could be combined with biologically inspired neural networks in the field of cognitive robotics, creating robots with the ability to think in a way that resembles human thought processes. As well as thinking, such robots might also learn, remember, perceive and make decisions in the face of uncertainty, as humans do. This could allow robots to understand human requests better, enabling them to detect the meaning behind the words used. That might be essential for a machine carrying out domestic tasks.
Neural networks are usually considered as part of computational intelligence. Like the human brain, they consist of numerous interconnected individual parts, similar to nerves. These work together to solve problems, learning as they go, because the connections between elements are adjustable, like the connections between nerves.
Once neural networks have learned how to analyze data, they can effectively become experts in their fields and may be used to predict outcomes in different scenarios. A disadvantage of this type of computational intelligence is that it requires a lot of computing power and it can work in an unpredictable way. Neural networks should not be confused with expert systems, which use predetermined sets of rules to make decisions and do not adapt them to fit the data.