ARCON personnel have extensive experience applying intelligent algorithms, including neural networks, genetic algorithms, expert systems, and fuzzy logic systems to real-world applications.
Neural Networks (NNs) are mathematical models based on a simplified understanding of the human brain. Consisting of many interconnected simple processing "nodes" organized in layers, a network attempts to learn relationships between bits of data. Learning can be supervised, where a network is shown sets of inputs and corresponding "right" outputs, or unsupervised, where a net observes samples and organizes its internal structure appropriately. There are many NN architectures, with differences in processing nodes, numbers of layers, types of interconnections, and learning algorithms. Neural networks are "model-free" estimators, in that they do not require an in-depth understanding of the phenomena they are modeling.
Genetic Algorithms (GAs) are another intelligence tool based on natural phenomenon, in this case, evolution itself. A simple genetic algorithm represents a problem as a string of ones and zeros (a "chromosome"). A random population of chromosomes is initially created and each is evaluated against a cost-function. The cost function is some method of evaluating the information contained in each chromosome and determining which ones represent better solutions to the problem than others. Following evaluation by the cost function, the best chromosomes are chosen as parents for the next GA generation. These are mated and their offspring mutated to form the next generation. The process continues until an acceptable solution is found or the population converges to a single chromosome representation.
There are many genetic algorithm variations depending on population control, mating and cross-over schemes, mutation rates, diversity maintenance procedures, added simulated annealing and local optimization techniques. Like neural networks, GAs are model-free estimators; however, they do require a definable cost function that is not too computationally expensive to evaluate (as this evaluation will occur many times throughout the GA).
Expert Systems are artificial intelligence (AI) techniques which organize relationships and apply human-like reasoning to a problem. Also known as "knowledge-based or case-based reasoning", an expert system contains a body of knowledge represented by rules and an inference engine, which applies the rules to move from a problem definition or set of facts to a proposed solution. This technique works best when there are experts who normally solve the problem and who can communicate a body of knowledge.
Fuzzy logic (FL) is a soft computing technique which combines desirable features of expert systems and neural networks. Fuzzy theory holds that all things are matters of degree, and that black-white expert systems rules are merely special limiting cases of gray fuzzy relationships. Fuzzy logic systems are similar to expert systems in that they store banks of fuzzy, inexact associations or common-sense rules, such as "If traffic is heavy, keep the green light on longer." The terms "heavy" and "longer" have degrees some traffic is heavier than other traffic, hence some lights are on longer than others. A single fuzzy association, Heavier à Longer represents all these combinations. Fuzzy systems are similar to neural networks in that they process inexact information in-exactly and in parallel. Fuzzy systems "reason" with parallel associative inference, such that, when presented with an input state, they fire all fuzzy rules in parallel, but to a different degree, to infer a conclusion of output. Hence, they estimate sampled functions from input to output. Fuzzy associations may be coded linguistically in an expert system fashion, such as Heavier à Longer, or numerically, after being adaptively inferred and modified from a number for representative numerical samples in neural network fashion.
The amount that each rule "matters" can be specified explicitly by the experts or learned from empirical data, in a manner similar to neural network training. This is important because it means that experts can impose changes on rules that were derived mathematically or extracted from empirical data. Fuzzy logic rules can often be arrived at with significantly fewer data points than typically required to train a neural network. Unlike an expert system which typically uses serial inference, fuzzy systems use all rules in parallel to generate several solutions to a problem and then resolve the differences to arrive at a consensus. There are three major parts to FL reasoning: 1) Fuzzification, where an observation is classified and its degree of membership with several different classes is measured, 2) Inference, where the consequences of being in each class is computed via the expert system rulebase, and the 3) Defuzzification, where a consensus solution is extracted from the fuzzy advice.
Our current and past research activities include: