That is precisely the problem. With a modern computer they do not have to be known before hand. That is why a modern computer is different from a Turing machine.
Hmm, this is the whole point i was trying to make, and it may not have been that clear. My point is, Turing machines are better for proving the theoretical limits of computers than they are for telling you what a computer you can build today can practically do for you. The point is that, if you know the inputs, you can (well most people would agree at least) simulate a computer on a Turing machine. It doesn't matter that with a real computer you don't have to know the inputs before-hand. In fact, the halting problem is predicated on not knowing the input till you get the tape your going to get. The point of the halting problem is that there exists no algorithm general enough to take any TM and any input and determine whether it will halt. Sure, if you limit the set of possible inputs, then it may be possible (depending on the imposed limits) to determine whether the machine will halt. It may seem like a nitpicky distinction, but it's not. It means that you cannot write an operating system that will take any program and any input, and determine whether than combination will halt. Besides, once you get to the point of determining, based on input entered, whether a program will halt, you've essentially lost the gain from being able to take future input. All you care about is whether the program with the current input will halt, which puts you back in the same situation as the TM-based halting problem. The point you seem to be missing is that deciding (by some timing or interrupt based heuristic) that a specific program has been put into an infinite loop is not a solution to the halting problem. If you believe it is, you need to reread the actual description of the halting problem, not a high level summary of it.
I am not trying to imply that the solution to human level AI is only possible by modeling human neurons. That is just one solution that I think is very likely to work, but not possible yet.
We agree here.
Emulation is always much slower than native code.
There's line of reasoning that says that you wouldn't actually have to simulate neural activity, just the shuffling around of symbols that neural activity makes possible. This is another "nitpicky" distinction, but again an important one. At present, that's the line of reasoning I find most convincing.
No. There is not a one to one correlation. As you say, a Turing machine exceeds today's computers by having infinite tape. And, todays computer can take live input and a Turing machine cannot.
I didn't claim there was a one to one correlation. I claimed that if you believe there's a one to one correlation, then what's provable about a TM follows for the equivilent. I didn't claim that you should believe that the brain or a computer was equivilent to a TM (though I claimed that I personally thought it was).
You are implying that since a human can see that an infinite loop will never end and a computer supposedly cannot, that there are things a computer cannot do.
I claimed no such thing. My claim was more along the lines of "a human cannot see any infinite loop." I don't believe a human can solve the halting problem in all cases. It can spot come cases of it, but not all. This is the difference between a problem that is recursive and a problem that is recursive enumerable.
However, I can write algorithms that can detect for infinite loops and therefore "solve" the halting problem.
No, you can write algorithms that can detect some infinite loops, under a limited set of (likely platform specific) circumstances. You cannot write an algorithm that can detect all infinite loops. You cannot solve the halting problem (notice the lack of quotes) you can "solve" halting issues for certain circumstances. But that is a far weaker claim than being able to solve the halting problem.
That's the thing. Turing machines can show that certain things cannot be done, even giving a universal language and infinite resources. It makes no claims about, e.g. code written in C++ on x86. But it follows that if these interesting problems cannot be decided on this more powerful platform, they certainly can't be decided on a less powerful platform. You cannot write a program that solves the halting problem. You can write one that keeps your machine from locking up, but that's a totally different, much weaker claim.
So, if I can write programs that solve simple halting problems
There is no "simple" halting problem. There is the halting problem, and there are cases of determining whether very specific things will halt. Those are very different.
who is to say that someone smarter than me couldn't write an algorithm to solve complex or generic halting problems.
Any number of more elegant proofs than I can provide. Search google or everything2 or something.
I think you, as a human, are in a halting problem of you own in that you are stuck on this idea that there are things a computer cannot do.
<sarcasm>LOL.</sarcasm> There are provably things a computer can't do. Earlier in the comments thread, someone provided the name of a project that attempted to show that interrupts and such provided a machine that was more powerful than a TM. This claim was, according to the poster, proven false. You should look around for that one.
[ Parent ]