Lower semicomputable function: Difference between revisions

From Machinelearning
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
* for all <math>x \in X</math> and all natural numbers <math>n</math>, we have <math>g(x, n+1) \geq g(x,n)</math>
* for all <math>x \in X</math> and all natural numbers <math>n</math>, we have <math>g(x, n+1) \geq g(x,n)</math>
* for all <math>x \in X</math> we have <math>\lim_{n\to \infty} g(x,n) = f(x)</math>
* for all <math>x \in X</math> we have <math>\lim_{n\to \infty} g(x,n) = f(x)</math>
(i think X might have to be a recursive set)


The way to think of this is that given some fixed <math>x \in X</math>, the values <math>g(x,0), g(x,1), g(x,2), \ldots</math> are successive approximations of the value <math>f(x)</math>, and we have <math>g(x,0) \leq g(x,1) \leq g(x,2) \leq \cdots \leq f(x)</math>.
The way to think of this is that given some fixed <math>x \in X</math>, the values <math>g(x,0), g(x,1), g(x,2), \ldots</math> are successive approximations of the value <math>f(x)</math>, and we have <math>g(x,0) \leq g(x,1) \leq g(x,2) \leq \cdots \leq f(x)</math>.
Line 8: Line 10:
The definition says nothing about the rate of convergence, so for instance if we want <math>g(x,n)</math> to be within <math>1/1000</math> of the value of <math>f(x)</math>, there is not in general some way to find a large enough <math>n</math>.
The definition says nothing about the rate of convergence, so for instance if we want <math>g(x,n)</math> to be within <math>1/1000</math> of the value of <math>f(x)</math>, there is not in general some way to find a large enough <math>n</math>.


If we do not know the value of <math>f(x)</math> in advance, it is not possible to tell in general how far away <math>g(x,n)</math> is from <math>f(x)</math>. We would know that <math>g(x,1000)</math> is at least as close to <math>f(x)</math> as <math>g(x,100)</math>, but it's not clear how much closer.
If we do not know the value of <math>f(x)</math> in advance, it is not possible to tell in general how far away <math>g(x,n)</math> is from <math>f(x)</math>. We would know that <math>g(x,1000)</math> is at least as close to <math>f(x)</math> as <math>g(x,100)</math>, but it's not clear how much closer. In contrast, if a function is both lower and upper semicomputable, then we would have an approximation from above, say <math>h(x,n)</math>. Then <math>g(x,n) \leq f(x) \leq h(x,n)</math>, so we have an estimate that is off by at most <math>h(x,n)-g(x,n)</math>.
 
Lower semicomputability can be characterized using the idea of recursive enumerability as follows: <math>f : X \to \mathbf R</math> is lower semicomputable if and only if the set <math>\{(x,q) \in X \times \mathbf Q : f(x) > q\}</math> is recursively enumerable.
 
Examples:
 
* Every computable function is lower semicomputable (Why?)
* Kolmogorov complexity?

Latest revision as of 06:03, 25 July 2019

A function is lower semicomputable iff there exists a computable function such that:

  • for all and all natural numbers , we have
  • for all we have

(i think X might have to be a recursive set)

The way to think of this is that given some fixed , the values are successive approximations of the value , and we have .

The definition says nothing about the rate of convergence, so for instance if we want to be within of the value of , there is not in general some way to find a large enough .

If we do not know the value of in advance, it is not possible to tell in general how far away is from . We would know that is at least as close to as , but it's not clear how much closer. In contrast, if a function is both lower and upper semicomputable, then we would have an approximation from above, say . Then , so we have an estimate that is off by at most .

Lower semicomputability can be characterized using the idea of recursive enumerability as follows: is lower semicomputable if and only if the set is recursively enumerable.

Examples:

  • Every computable function is lower semicomputable (Why?)
  • Kolmogorov complexity?