Intuitively, at any given time should
execute some self-modification algorithm
(via instruction *check()*--Item 5 above)
only if it is
the `best' of all possible self-modifications,
given the utility function, which typically
depends on available resources, such as storage size and
remaining lifetime.
At first glance, however, target theorem (2)
seems to implicitly talk about just
one single modification algorithm, namely, *switchprog*
as set by the systematic proof searcher at time .
Isn't this type of local search greedy? Couldn't
it lead to a local optimum instead of a global one?
No, it cannot, according to the following global optimality theorem.

- Globally Optimal Self-Changes, Given and Encoded in
- Alternative Relaxed Target Theorem
- Global Optimality and Recursive Meta-Levels
- How Difficult is it to Prove Target Theorems?

Juergen Schmidhuber 2005-01-03