Showing posts with label Artificial Intelligence. Show all posts
Showing posts with label Artificial Intelligence. Show all posts

Knowledge Elicitation: Process of Acquiring Knowledge

Thursday, August 6, 2009 | Labels: , | 150 comments |

Knowledge Elicitation is the process of acquiring knowledge about a specific domain. A conceptual model of the domain knowledge is created at the end of the knowledge elicitation process. It is one of the most important and a crucial task of the development of an expert system since it directly has an impact on the overall quality of the system. Knowledge elicitation is also often viewed as the bottleneck in the development of expert systems or knowledge based systems. It is difficult and time consuming activity.

The knowledge is elicited chiefly from experts in the field and data/ information available from published literature. There are various known knowledge elicitation techniques available. The choice of technique to be used in the knowledge elicitation process depends on the nature of the situation within which the knowledge is elicited, the domain knowledge and availability of experts.

The knowledge elicitation process gets tricky as the vast amount of information is often kept inside the heads of domain experts. This makes the entire process complicated as the domain experts may not be willing to disclose the information, due to worries of being sidelined or becoming less important or getting redundant. In certain domains, the domain experts may not even be aware of the tacit knowledge and implicit conceptual models they come to use over many years of experience.

Some of the techniques used in the knowledge elicitation process are as follows:

  • Documentation Analysis: It is used for orientation and preparation. Documentation is perhaps the most common source of information, as it is often readily available. It helps knowledge engineers to conceptualize unfamiliar content and identify critical concepts in the domain. Documentation should not be the solitary source of information, but it normally supplements other sources of information.

  • Interviews: Interviews are the oldest and most common tool used for data collection. An interview can be structured or unstructured. Unstructured interviews normally carried out at the early stages of the knowledge elicitation/ modelling process. The structured interviews help to refine the knowledge acquired

  • Observation: There are two types of observation techniques, obtrusive and unobtrusive observation. In unobtrusive observation, the observer does not interact with the expert in action. The intention is to observe how a task is being performed usually, without disturbing or interfering in any way. The advantage with unobtrusive observation is that the person will carry out the tasks in a typical manner without any interference. Unobtrusive observation may not always be suitable as certain tasks require interaction to understand the reasoning behind certain steps in the process. In obtrusive observation, the observer gets the person to verbalize his thoughts as the task is being performed.

  • Questionnaires

  • Protocol analysis

  • Laddering

  • Repertory Grid Technique

  • Card Sorting

  • Three Card Trick

  • Twenty Questions Technique

  • Concept maps and Process maps

What is Optimization?

Sunday, September 21, 2008 | Labels: , , , | 1 comments |

Optimization is the process of finding the best solution (optimal solution) for a given problem. It is generally misunderstood that optimization is synonymous to maximization. The truth is that optimization may represent either maximization or minimization depending upon the type of problem at hand.

For example, the problem of finding a solution that provides the maximum profit for a given set of resources and constraints is a maximization problem. The same problem could be modeled as a minimization problem to find a solution that provides the minimum cost for a given set of resources and constraints.

Optimization can be of two types:
  1. Global optimization and

  2. Local optimization

The global optimum is always unique whereas the local optimum could change for every run of the optimization process depending on the initial solution set. While global optimum is desirable, in some cases, it may not be possible to find the global optimum or to verify whether a given solution is the global optimum. Global optimization also requires more computational power.

Even though various optimization techniques exist, the best technique depends on the type of problem, the domain and the business requirements. The following are some of the well known optimization techniques:
  • Linear Programming

  • Integer Programming

  • Mixed-Integer Programming

  • Constraint Programming

  • Genetic Algorithms

  • Simulated Annealing

  • Hopfield Neural Network

What is Image Thinning?

Monday, May 19, 2008 | Labels: , | 1 comments |

Image thinning is the process of reducing the width of a digitised pattern to just a single pixel so that the topological properties are preserved. The output of thinning is called Skeleton. A skeleton provides an abstraction of the global shape of the object. A skeleton normally requires less storage space compared to the original pattern while it preserves the essential structural information of the pattern.

Neural networks has been successfully applied to image thinning problems and pattern recognition applications like Optical Character Recognition (OCR) and medical imaging applications.

Constraints in Genetic Algorithms (GA)

Monday, April 28, 2008 | Labels: , | 1 comments |

Most of the real-world optimization problems have constraints. Constraints limit the feasible portion of the search space. Constraints are of two types, hard constraints and soft constraints. Hard constraints are constraints that have to be met at any cost, irrespective of the objective function. Soft constraints are more flexible. A minor violation of the soft constraints may be acceptable if it provides a significant gain in the fitness value. If the soft constraints are not met, then certain level of penalty will be imposed.

Different approaches are used to handle constraints in Genetic Algorithms, some of which are explained below:

Remove infeasible solutions: In this approach, infeasible solutions are simply thrown away. This approach has an advantage that there will be no infeasible solutions in the population. Many seem to believe that penalty functions should be harsh so that Genetic Algorithms will avoid the forbidden spaces. The foundation of Genetic Algorithms theory, however, suggests that Genetic Algorithms optimize by combining partial information from the population. Therefore, this approach can result in valuable information being lost as infeasible solutions may still contain fit schema. Another disadvantage is that the algorithm spends much time in evaluation and rejection of infeasible solutions, especially in highly constrained problems.

Repair infeasible solutions: In this approach, the algorithm converts a solution that violates hard constraints into one that does not. This method replaces infeasible solutions with their repaired equivalent. The disadvantage is that the repair strategies have to be problem specific.

Penalize infeasible solutions: Penalty function methods have been the most popular approach in Genetic Algorithms, because of their simplicity and ease of implementation. In this approach, the algorithm transforms constrained optimization into unconstrained optimization. Depending on the problem and the importance of the constraint, the penalty function can be uniform, polynomial, exponential or stepped. The advantage of this approach is that it can consider infeasible solutions. However, the most difficult aspect of the penalty function approach is to find appropriate penalty parameters needed to guide the search towards the constrained optimum.

Selection in Genetic Algorithms

Friday, January 18, 2008 | Labels: , | 0 comments |

We had seen the basic Genetic Algorithms operations in the previous post. In this post, let us see, in detail, how the selection or reproduction operator works.

Selection is the procedure by which candidate solutions are determined for recombination to generate offsprings for the next generation. The chance that a particular candidate solution or string will be selected is based on the string's fitness value.

There are many types of selection operators. For example, a selection operator always selects the fittest individuals and discards the remaining solutions. Depending on the domain, many variants of the selection operators are being used. It is difficult to determine which is better.

The most common selection method used in Genetic Algorithms is the Roulette Wheel Method, which selects the strings statistically based on their relative fitness value, calculated from a fitness function. At the time of offspring creation, a simple spin of the roulette wheel yields the lucky candidate. In Roulette Wheel, highly fit candidate solutions get more chances of being selected for the next generation.

We will see the Roulette Wheel method of selection, in detail, later on.

Basic Genetic Algorithms Operations

Thursday, January 17, 2008 | Labels: , | 1 comments |

As we had seen earlier, Genetic Algorithms (GA) have a solid basis in genetics and evolutionary biological systems. There are basically two kinds of operations in Genetic Algorithms, that are discussed below.

Genetic Operation: The genetic operation mimics the process of heredity of genes to produce new offsprings in each generation.

Evolution Operation: The evolution operation mimics the process of biological evolution to create the next population from generation to generation.

The Genetic operations include crossover and mutation operators while the evolution operation includes the selection or reproduction operation. We will see these three Genetic Algorithms operators in detail in the next post.

Genetic Algorithms: The Iterative Loop

Wednesday, January 16, 2008 | Labels: , | 0 comments |

Genetic Algorithms iteratively generate new solutions from current set of solutions and replace some or all of the existing population with the newly created members. The iteration of the Genetic Algorithms is explained below:

  • An initial population of strings is created randomly.


  • Measure the goodness/ strength of each individual in the population.


  • Select individuals in the parent pool for the creation of next generation.


  • New individuals (Offsprings) are created by performing crossover and/ or mutation on the selected individuals.


  • The new population is tested to see if it satisfies the stopping criteria. If it satisfies, stop the loop; otherwise the next genetic algorithms iteration is performed.

When Should You Use Genetic Algorithms (GA)?

Tuesday, January 15, 2008 | Labels: , | 0 comments |

Genetic Algorithms (GA) are more suitable for the following problems:
  • Domain knowledge is not sufficient enough to narrow the search space. Genetic Algorithms has overcome the main drawback of expert systems, providing rules.


  • Problems where the traditional search methods fail.


  • The search space is vast, complex and poorly understood. Genetic Algorithms are proven to provide robust search in complex search spaces.

What are Genetic Algorithms?

Monday, January 14, 2008 | Labels: , | 0 comments |

Genetic Algorithms are search algorithms that exploit the idea of the survival of the fittest. Genetic Algorithms derive their name since it is modeled after genetics and evolution. Genetic Algorithms have been proven to be robust, flexible and efficient in vast complex spaces.

Artificial Intelligence Techniques

Tuesday, January 8, 2008 | Labels: | 0 comments |

Artificial Intelligence techniques aim at developing intelligent machines, especially smart computer programs. Artificial Intelligence would impart the machines/ programs the capability to mimic human intelligence. The objective of Artificial Intelligence is to make the machines/ programs to keep learning, react to the environment and take decisions on its own without the intervention of humans. The ultimate goal of Artificial Intelligence is to make computer programs to find solutions to problems as well as humans do.

The following are some of the techniques that fall under the category of Artificial Intelligence:

  • Case Based Reasoning
  • Rule Based Reasoning
  • Genetic Algorithms
  • Fuzzy Systems
  • Artificial Neural Networks
  • Intelligent Agents
We will see, in detail, about each of the Artificial Intelligence techniques in our future posts.