what does your algorithm add over the simpler algorithm of replacing all call sites to agent() by a constant, running the result, and choosing the constant that gives the highest value?
Admittedly, not much. If world() calls agent2() that provably returns the same value as agent(), agent() will notice it. But this wasn’t really the point of the post. The point was to show that having perfect knowledge of yourself doesn’t necessarily stop you from considering counterfactuals about yourself. Of course it’s all completely impractical.
Perhaps a closer approximation to reality would be a “listener” algorithm that accepts proofs (e.g. by reading game theory books), instead of trying to find them.
Admittedly, not much. If world() calls agent2() that provably returns the same value as agent(), agent() will notice it. But this wasn’t really the point of the post. The point was to show that having perfect knowledge of yourself doesn’t necessarily stop you from considering counterfactuals about yourself. Of course it’s all completely impractical.
Perhaps a closer approximation to reality would be a “listener” algorithm that accepts proofs (e.g. by reading game theory books), instead of trying to find them.