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.
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.
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.