# Current Best Hypothesis Search

• Difficulty Level : Hard
• Last Updated : 18 Jul, 2021

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.