There is an ambiguity in how people are using the world "algorithm"
Algorithm-1 is a technique that provably accomplishes some identifiable task X, perhaps with a known allowance for error. This is mostly what we talk about in computer science as "algorithms". Algorithm-2 is any process that can be described and that sometimes terminates. It might not come with any guarantees, it might not come with any clear objectives. A heuristic is an example of Algorithm-2.
Note that this distinction is observer-dependent. Unintelligible code is Algorithm-2, but it becomes Algorithm-1 when you learn what it does and why it works.
Human intelligence is an example of Algorithm-2 and not an example of Algorithm-1 for our purposes.
Machines can do both Algorithm-1 and Algorithm-2.
As near as I can tell, you are highlighting the fact that we don't have an Algorithm-1 for AI design. But that doesn't mean there isn't an Algorithm-2 that accomplishes it and doesn't mean we won't find that Algorithm-2.
Note that an Algorithm-2 can output an Algorithm-1 and a proof/explanation of it. There's nothing stopping us from building a giant-and-horrible combination of theorem prover, sandbox, code mutator, etc, that takes as input a spec, and might at some point output an algorithm, with a proof, that meets the spec.
You make a good point that some confusion may be resulting from different notions of algorithm.
Algorithm-1 is a technique that provably accomplishes some identifiable task X, perhaps with a known allowance for error. This is mostly what we talk about in computer science as "algorithms". Algorithm-2 is any process that can be described and that sometimes terminates. It might not come with any guarantees, it might not come with any clear objectives. A heuristic is an example of Algorithm-2.
From a math/compsci perspective, the most common definition is neither of these. Algorithm-3 is a deterministic process which terminates in finite time and yields some output. Thus an algorithm under definition three is essentially akin to a computable function.
From a math/compsci perspective, the most common definition is neither of these. Algorithm-3 is a deterministic process which terminates in finite time and yields some output. Thus an algorithm under definition three is essentially akin to a computable function.
I was writing sloppily without checking a reference. However, I did want to include randomized algorithms, online algorithms, and suchlike under definition 1.
Yes, I'm suggesting that most of the time when people use the term "algorithm" they don't mean to include those so there's a useful third notion of algorithm. I'm still not completely sure which of these the OP actually intended.
I'm afraid just about everything here is wrong.
at some point we need something fundamentally non-algorithmic
No. Our brains are already implementing lots of algorithms. So far as we know, anything human beings come up with -- however creative -- is in some sense the product of algorithms. I suppose you could go further back -- evolution, biochemistry, fundamental physics -- but (1) it's hard to see how those could actually be relevant here and (2) as it happens, so far as we know those are all ultimately algorithmic too.
we will always have to rely on some non-algorithmical intelligence to find more intelligent solutions.
No (not even if you were right about ultimately needing something fundamentally non-algorithmic). Suppose you have some initial magic non-algorithmic step where the Finger of God implants intelligence into something (a computer, a human being, whatever). After that, that intelligent thing can design more intelligent things which design more intelligent things, etc. The alleged requirement to avoid an infinite regress is satisfied by that initial Finger-of-God step, even if everything after that is algorithmic. There's no reason to think that continued non-algorithmic stuff is called for.
we have no reason to suppose we can't find another more powerful one.
That might be true. It might even be true -- though I don't think you've given coherent reasons to think so -- that there'll always be a possible Next Big Thing that can't be found algorithmically. So what? A superintelligent AI isn't any less useful, or any less dangerous, merely because a magical new-AI-creating process might be able to create an even more superintelligent AI.
No algorithm can determine the simple axioms of the natural numbers from anything weaker.
It is not clear that this means anything. You certainly have given no reasons to believe it.
There is simply no way to derive the axioms from anything that doesn't already include it.
I think you are confusing derivations within some formal system such as Peano arithmetic (where, indeed, the only way to get the axioms is to begin with them, or with some other axioms that imply them) and (a quite different sort of) derivations outside that formal system, such as whatever Peano did to arrive at his axioms. I know of no reason to believe that the latter is fundamentally non-algorithmic, though for sure we don't know what algorithms would be best.
general intelligence necessarily has to transcend rules
I know of no reason to believe this, and it seems to me that if it seems true it's because what you imagine when you think about following rules is very simple rule-following, the sort of thing that might be done by a computer program at most a few pages in length running on a rather slow computer. In particular ...
since at the very least the rules can't be determined by rules
Whyever not? They have to be different rules, that's all.
Instead, we should expect a singularity that happens due to emergent intelligence.
"Emergence" is not magic.
not just one particular kind of intelligence like formal reasoning used by computers
Well, that might well be correct, in the sense that good paths to AI might well involve plenty of things that aren't best thought of as "formal reasoning". (Though, if they run on conventional computers, they will be equivalent in some sense to monstrously complicated systems of formal reasoning.)
You are assuming a concept of "algorithm" wide enough that everything an AI could do is considered an algorithm and simultaneously narrow enough that things humans do that don't seem obviously algorithmic don't count as algorithms, so you are simply begging the question. The concept of algorithm you use already implies that there are things a human can do and an AI can't right from the start.
An interesting test of what appear to be general arguments against something
is whether you can use them to prove the opposite as well.
Clearly, if you want to use something non-algorithmic to solve a problem (say, if you're a human, which for the sake of argument we will pretend are "non-algorithmic"), you have to get that non-algorithm somehow. But then we have the problem to determine the non-algorithm to find that, and so on...
Obviously, at some point we have to actually find a non-algorithm to start with, so in any case at some point we need something fundamentally algorithmic to determine a solution to an problem that is solveable by a non-algorithm.
I think this post is filled with conceptual confusion, and I find it fascinating.
You never quite state the alternative to an algorithm. I propose that the only alternative is randomness. All processes in the universe are algorithms with elements of randomness.
I'm curious as to what you think the human brain does, if not an algorithm. I, like many on LW, believe the human brain can be simulated by a Turing machine (possible with a random generator). Concepts like "heuristics" or "intuition" or exploration" are algorithms with random elements. There is a lot of history on formalizing processes, and nothing known lies outside Turing machines (see the Church-Turing thesis).
In addition, I think the human brain is a lot more algorithmic than you think it is. A lot of Lukeprog's writings on neuroscience and psychology demonstrate ways in which our natural thoughts or intuitions are quite predictable.
at some point we have to actually find an algorithm to start with
The universe started with the laws of physics (which are known to be algorithms possibly with a random generator), and have run that single algorithm up to the present day.
What do you think about my proposed algorithm/random dichotomy?
Based on your comments, you are clearly an atheist, and therefore reject the argument of God existing because there has to be an uncaused cause.
Yet, your uncaused algorithm argument takes the exact same form. Isn't it the same counterargument?
I am not necessarily an atheist, it depends on your definition of God. I reject all relgious conceptions of God, but accept God as a name for the mysterious source of all order, intelligence and meaning, or as existence itself.
So in this sense, God is the uncaused cause and also everything caused.
It would indeed be a counterargument if I didn't believe in uncaused cause, but I do believe in an uncaused cause, even though it isn't a seperate entity like the usual notion of God implies.
My argument still holds in another form, though. Even if we assume the universe has a preexisting algorithm that just unfolds, we don't know which it is. So we can't determine the best seed AI from that either, effectively we still have to start from b). Unless we get the best seed AI by accident (which seems unlikely to me) there will be room for a better seed AI which can only determined if we start with a totally new algorithm (which the original seed AI is unable to, since then it would have to delete itself). We, having the benefit of not knowing our algorithm, can built a better seed AI which the old seed AI couldn't built because it already has a known algorithm it must necessarily build on.
Indeed, a good seed AI would at some point suggest us to try another seed AI, because it infers that its original code is unlikely to be the best possible at optimal self-modification. Or it would say "Delete this part of my source code and rewrite it, it doesn't seem optimal to me, but I can't rewrite it because I can't modify this part without destroying myself or basing the modification on the very part that I want to fundamentally rewrite".
I see in which case my argument fails:
If we assume a prexisting algorithm for the universe already (which most people here seem to do), then everything else could be derived from that, including all axioms of natural numbers, since we assume the algorithm to be more powerful then them at the start. Step b) is simply postulated to be already fulfilled, with the algorithm just being there (and "just being there" is not an algorithm), so that we already have an algorithm to start with (the laws of nature).
The "laws of nature" simply have to be taken as granted. There is nothing deeper than that. The problem is that then we face a universe which is essentially abitrary, since from what we know the laws could be anything abitrary else as well (these laws would just be the way they are, too). But this is obviously not true. The laws of nature are not abitrary, there is a deeper order in them which can't stem from any algorithm (since this would just be another abitrary algorithm). But if this is the case, I believe we have no reason to suppose that this order just stopped working and lets do one algorithm all the rest. We would rather expect it to be still continuously active. Then the argument works. The non-algorithmic order can always yield more powerful seed AIs (since there is no single most powerful algorithm, I think we can agree on that), so that AI is not sufficient for an ever increasing general intelligence.
So we face a problem of worldview here, which really is independent of the argument and this is maybe not the right place to argue it (if it is even useful to discuss it, I am not sure about that, either).
What I write here may be quite simple (and I am certainly not the first to write about it)
Feel free to post relevant links, then. Until then, downvoted.
Any bitstring to a certain length N, can be produced.
Some of them are algorithms. Some can be proved with a rigor. Some can be tested statistically.
I don't see your point as valid.
Any bitstring to a certain length N, can be produced.
Producing and proving/testing all strings up to 1000 bits could be pretty expensive. And yet 1000 bits could be not enough for an intelligent AI.
Therefore, in this universe it is probably not possible to create an intelligent AI by simply enumerating and testing all bitstrings.
Yes. This shows you would need a better algorithm than brute-force search. But better algorithms are known to exist -- to pick a trivial one, you can do random generation in a nontrivial programming language, with a grammar and a type system. This lets you rule out lots of ill-typed or ill-formed programs quickly.
A still less trivial example would generate new programs out of bits of existing programs. See the "macho" work at the University of Illinois for an example. They're able to synthesize small programs (the size of 'ls') from the man-page description, plus a big body of example code.
I like this post more for the responses than for the argument. It's obvious that a lot of people here mean something by "algorithm" that is so general as to be useless: they mean any kind of (deterministic) procedure or process at all. Algorithms are effective procedures for calculation. Equations, laws, theories, and so forth, are not algorithms (note that algorithms are procedures and not descriptions). The sort of argument you're making was common to early discussions of AI. The idea that everything a person can do can be explained algorithmically is really more a presupposition of AI rather than something it actively argues for. The idea is that the presupposition will be vindicated by the creation of AI programs that show the disputed properties.
What I write here may be quite simple (and I am certainly not the first to write about it), but I still think it is worth considering:
Say we have an abitrary problem that we assume has an algorithmic solution, and search for the solution of the problem.
How can the algorithm be determined?
Either:
a) Through another algorithm that exist prior to that algorithm.
b) OR: Through something non-algorithmic.
In the case of AI, the only solution is a), since there is nothing else but algorithms at its disposal. But then we have the problem to determine the algorithm the AI uses to find the solution, and then it would have to determine the algorithm to determine that algorithm, etc...
Obviously, at some point we have to actually find an algorithm to start with, so in any case at some point we need something fundamentally non-algorithmic to determine a solution to an problem that is solveable by an algorithm.
This reveals something fundamental we have to face with regards to AI:
Even assuming that all relevant problems are solvable by an algorithm, AI is not enough. Since there is no way to algorithmically determine the appropiate algorithm for an AI (since this would result in an infinite regress), we will always have to rely on some non-algorithmical intelligence to find more intelligent solutions. Even if we found a very powerful seed AI algorithm, there will always be more powerful seed AI algorithms that can't be determined by any known algorithm, and since we were able to find the first one, we have no reason to suppose we can't find another more powerful one. If an AI recursively improves 100000x times until it is 100^^^100 times more powerful, it still will be caught up if a better seed AI is found, which ultimately can't be done by an algorithm, so that further increases of the most general intelligence always rely on something non-algorithmic.
But even worse, it seems obvious to me that there are important practical problems that have no algorithmic solution (as opposed to theoretical problems like the halting problem, which are still tractable in practice), apart from the problem of finding the right algorithm.
In a sense, it seems all algorithms are too complicated to find the solution to the simple (though not necessarily easy) problem of giving rise to further general intelligence.
For example: No algorithm can determine the simple axioms of the natural numbers from anything weaker. We have postulate them by virtue of the simple seeing that they make sense. Thinking that AI could give rise to ever improving *general* intelligence is like thinking that an algorithm can yield "there is a natural number 0 and every number has a successor that, too, is a natural number". There is simply no way to derive the axioms from anything that doesn't already include it. The axioms of the natural numbers are just obvious, yet can't be derived - the problem of finding the axioms of natural numbers is too simple to be solved algorithmically. Yet still it is obvious how important the notion of natural numbers is.
Even the best AI will always be fundamentally incapable of finding some very simple, yet fundamental principles.
AI will always rely on the axioms it already knows, it can't go beyond it (unless reprogrammed by something external). Every new thing it learns can only be learned in term of already known axioms. This is simply a consequence of the fact that computers/programs are functioning according to fixed rules. But general intelligence necessarily has to transcend rules (since at the very least the rules can't be determined by rules).
I don't think this is an argument against a singularity of ever improving intelligence. It just can't happen driven (solely or predominantly) by AI, whether through a recursively self-improving seed AI or cognitive augmentation. Instead, we should expect a singularity that happens due to emergent intelligence. I think it is the interaction of different kind of intelligence (like human/animal intuitive intelligence, machine precision and the inherent order of the non-living universe, if you want to call that intelligence) that leads to increase in general intelligence, not just one particular kind of intelligence like formal reasoning used by computers.