Given infinite resources/time, one could create AGIs by writing code to simulate infinite worlds. By doing that, in some of the worlds, AGIs would be created. Detecting them would be another issue.

Since we don't have infinite resources, the most probable way to create an AGI is to write some bootstrapping code that would reduce the resources/time to reasonable values.

In that AGI code (that would make it reasonable to create with finite resources/time) is it required to have a part that deals with time/space estimation of possible actions taken? Or should that be outside of the code and be something the AGI discovers by itself after it starts running?

Any example of projects targeting AGI that are using time/space estimation might be useful for reaching a conclusion.

Clarification, by time/space I mean time/space complexity analysis for algorithms, see: Measures of resource usage and Analysis of algorithms

I think the way I formulated the question might lead people to think that the time/space estimation can only apply to some class of actions called algorithms. To clarify my mistake, I mean the estimation to apply to any action plan.

Imagine you are an AGI and you have to make a choice between different set of actions to pursue your goals. If you had 2 goals and one of them used less space and less time then you would always pick it over the other algorithm. So time/space estimation is very useful since intelligence is about efficiency. There is at least 1 exception though, imagine in the example before that the goal of the AGI is to pick the set of actions that leads to the most expensive time/space set of actions (or any non-minimal time/space cost) then obviously because of the goal constraint you would pick the most time/space expensive set of actions. In most other cases though, you would just pick the most time/space efficient algorithm.


1 Answer 1


I don't know if time/space estimation will be explicitly programmed into an AGI, but the estimation of the computational resources to perform a certain action is definitely useful. Humans (especially, rational humans) regularly do this.

In reinforcement learning, for instance, the agent may be able to discover what are the most efficient actions to achieve the same goal, without having a dedicated component for estimating the space and time requirements. However, if it had a dedicated component, it might be able to perform more efficiently.

If you think of heuristic-based state-space search algorithms, like A*, you can see that they explicitly incorporate a way to estimate the resources to achieve the goal (in this case, the cost of the path to the goal), i.e. the heuristic function $h$. This turns out to be very useful, provided the heuristic is also suitable for the problem.

In the Godel machine, which can be viewed as a theoretical model of AGI (or general problem solver), we also have this notion of proving (so not just estimating) that rewriting the code is useful before rewriting it.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .