What does it mean to understand Chinese? The man, to an external observer, does. He can respond to appropriate Chinese input with appropriate Chinese output. Now it is claimed that internally he does not understand Chinese. But that is just shrinking the man before to some sort of ability within the man, and shrinking the system into the man’s brain. No difference in concept. It is just like if you implemented your computer version of the Chinese understanding program in hardware or firmware, so there is no “program” to be found. Really the same situation.
Now we have abandoned the idea that you can get semantics purely from syntax a long time ago, and there are all sorts of syntactically correct but semantically nonsensical examples. So if he was trying to demonstrate this, no one will argue. It probably was an issue back then. I’ve written lots of parsers in my life, all for languages trivial compared to these examples, but even there the syntax/semantics distinction is clear in the code and even in the parser generator.
I’m not sure I get the point of the chess example. When Turing wrote, someone using a program to play chess, implemented by whatever means, might have been confused with knowing how to play. I think few people make that mistake today, since most of us have used programs to extend our capability. I’m terrible at doing integration, and when I use Mathematica to solve an integral for me I do not suddenly think I have learned how to integrate. Today we distinguish knowing how to do something and knowing how to use a program which does something.
What do they mean by “physical system?” To get a patent on what is essentially an algorithm, you describe its implementation on a computer as a physical system, since you can patent hardware that implements something. But there is a big difference between a purely physical system that has the capability of running any program and the specific instance of it containing instructions. Things have gotten even more complicated, since hardware design languages look like software, and FPGAs can be programmed in hardware terms to implement a function. I’ll have to find time to read these things, but I have this sneaking suspicion that both sides might misunderstand computation at a fundamental level.
There is really no difference between hardware and software. Any program can theoretically be executed by hand with only paper and pencil. Similarly, any program can be implemented in hardware. Even the implementation of an instruction set can be all hardware, a combination of simple hardware and microcode, or all software, in a simulator. I’m interested in whether they grasp this.
Not at all - complexity in itself does not produce understanding. The understanding comes from someone with understanding who lends it to the program, or someone who understands understanding at a meta-level, who can program the computer how to learn Chinese in a similar way to how humans learn Chinese. These programs may be complex, but that is just a side effect of the problem. Complexity itself does not create understanding.