Open In App

Current Best Hypothesis Search

Last Updated : 26 Feb, 2023
Like Article

Introduction :

Current Best Hypothesis Search (CBHS) is a machine learning algorithm that focuses on finding the best hypothesis (or solution) to a problem, given a set of observed data. CBHS is commonly used in situations where there is a large search space, and it is not possible to exhaustively search the entire space to find the optimal solution.

In CBHS, the algorithm begins by generating a set of initial hypotheses. It then evaluates each hypothesis by comparing it to the observed data and computing a score that measures the fit between the hypothesis and the data. The hypothesis with the best score is selected as the “current best hypothesis,” and the algorithm continues to generate and evaluate new hypotheses until a stopping criterion is met.

CBHS has been applied in a variety of domains, including computer vision, natural language processing, and speech recognition. One of the advantages of CBHS is that it can be used to efficiently search large and complex search spaces, making it a useful tool for solving challenging problems.

CBHS is also a flexible algorithm, and it can be combined with other machine learning techniques, such as reinforcement learning or evolutionary algorithms, to further improve its performance.

Overall, Current Best Hypothesis Search is a powerful and versatile machine learning algorithm that has been widely used in various applications. It provides a way to efficiently search for the best solution in complex and large search spaces, making it an important tool for solving a wide range of real-world problems.

The idea behind the current best hypothesis search is to maintain a single hypothesis and to adjust it as a new example arise in order to maintain consistency.

The hypothesis space H is a set of hypothesis that learning algorithm is designed to entertain. The learning algorithm believes that one hypothesis is correct, that is, it believes the sentence:

h1 V h2  V h3 V.... V hn

Hypothesis that are not consistent with the example can be ruled out.

There are two possible ways to be inconsistent with an example:

  1. False negative: In this hypothesis, the example should be negative but in fact it is positive.
  2. False positive: In this type of hypothesis, the example should be positive but in fact it is negative.

if the example is consistent with the hypothesis then do not change it. If the example is false negative then, generalize the hypothesis and if the example is false positive then specialize the hypothesis.

function CURRENT-BEST-LEARNING(examples) return a hypothesis
H<- any hypothesis consistent with the first example in examples
for each remaining example in examples do 
    if e is a false positive for H then
        H<- choose a specialization of H is consistent with examples
    else if e is a false negative for H then
        H<- choose a generalization of H is consistent with examples
    if no consistent specialization/generalization can be found 
    then fail
    return H

The current best hypothesis learning algorithm searches for a consistent hypothesis and backtracks the algorithm when no solution is found .

Notice that each time, we consider generalizing or specializing the hypothesis, we must check for consistency with other examples, because an arbitrary increase or decrease in the extension might include or exclude previously seen negative or positive examples.

Generalization and specialization are defined as operations that change the extension of hypothesis .

The current best hypothesis algorithm and its variants have been used in many learning systems.

Uses of Current Best Hypothesis Search :

Current Best Hypothesis Search (CBHS) has a wide range of applications, including:

  1. Computer Vision: CBHS has been used in computer vision to find the best hypothesis for object recognition, image segmentation, and 3D reconstruction. For example, it has been used to identify objects in an image by generating and evaluating hypotheses about the location, shape, and appearance of objects.
  2. Natural Language Processing: CBHS has been used in natural language processing for tasks such as part-of-speech tagging, named entity recognition, and machine translation. In these applications, the algorithm generates hypotheses about the syntactic and semantic structure of a sentence and selects the best hypothesis based on the observed data.
  3. Speech Recognition: CBHS has also been used in speech recognition to identify the best hypothesis for speech-to-text conversion. In this application, the algorithm generates hypotheses about the words spoken in an audio recording and selects the best hypothesis based on the observed speech signal.
  4. Robotics: CBHS has been used in robotics to find the best hypothesis for motion planning and control. For example, it has been used to find the best path for a robot to navigate through a cluttered environment.
  5. Optimization: CBHS can also be used as an optimization algorithm, where the goal is to find the best hypothesis that maximizes or minimizes a given objective function. This can be useful in a wide range of optimization problems, such as finding the best design for a product or the best configuration for a system.

These are just a few examples of the many applications of Current Best Hypothesis Search. The versatility and flexibility of the algorithm make it a useful tool for solving a wide range of problems in various domains.


  1. checking all the previous instances over again for each modification is very expensive.
  2. the search process may involve a great deal of backtracking. Hypothesis space can be a doubly exponentially large place.

The more general than and “more specific than” relations between hypothesis provide logical structure on hypothesis space that makes efficient search possible.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads