2

Most mathematical objects can be said to be defined in simple terms, are usually really concise and still manage to capture the essence of what they are trying to talk about. For example, topology does a great job at capturing a broad and variety of interesting objects, but still its definition is simple enough to be used directly for (pretty much) everything (in topology of course).

However, unlike topology and other mathematical notions, the definition of a Turing Machine is really complicated. This definition does capture a big chunk of interesting problems, but it is too complicated to be considered when trying to solve them. For example, you won't start thinking about turing machines, when you want to design an algorithm that computes the BFS algorithm.

You may say, that in those terms, it might be better to think in terms of "computer code" or "RAM machines". However, I am not satisfied with that answer, since such things are not formal enough when considering other uses, such as proving lower bounds, or when proving theorems such as the time hierarchy theorem.

My Question

Is there some notion of a computational model (doesn't necessarily have to be equivalent to TMs), that is formal enough to work with, for such theorems and lower bounds, but also simple and expressively interesting?

nir shahar
  • 11,538
  • 3
  • 14
  • 35
  • To begin with, you compare a field (topology) with the definition (TM), so I'm not sure how you want to compare them. An honest comparison would be topology vs CS. If you want compare definitions, then you should e.g. compare the definition of TM with the definition of a continuous function, and I believe you won't be excited about proving continuity for even slightly complicated functions. Overall: I think the post would be better without the first paragraph. –  Apr 17 '21 at 00:30
  • 1
    What's specifically wrong with RAM machines? –  Apr 17 '21 at 00:31
  • 1
    @Dmitry "Topology" isn't just the name of the field, it's also an object ("A topology on $X$ is ..."). So the OP doesn't have a type error, there. – Noah Schweber Apr 17 '21 at 03:15
  • 1
    To the OP, I find the following passage odd: "This definition does capture a big chunk of interesting problems, but it is too complicated to be considered when trying to solve them. For example, you won't start thinking about turing machines, when you want to design an algorithm that computes the BFS algorithm." The reason we don't start thinking about Turing machines when implementing complicated algorithms is that they're too simple, not that they're too complicated: they're difficult to work with because they take very little "computational power" for granted. – Noah Schweber Apr 17 '21 at 03:19
  • Also, are Turing machines really more definitionally complicated than (say) smooth manifolds or solvable groups? – Noah Schweber Apr 17 '21 at 03:27
  • What I wanted to show when I compared TMs to Topological spaces, is that there can be simple definitions that "capture" interesting problems, and are not too complicated. Maybe there are other complicated definitions in maths, but I am interested in the definitions of TMs. Also, @NoahSchweber you said that TMs are too simple, and in my sense, its the opposite: try writing a BFS algorithm in a TM... You can, but its hard. Its just that TMs take a really roundabout way to say what computation is, and this way does not really help us more than it interferes with us. – nir shahar Apr 17 '21 at 09:49
  • So what Im looking for, is a model of computation (that is weaker than TMs), that can be simple when represented in a mathematical way, but still strong enough of a model so that there would be interesting problems in it. – nir shahar Apr 17 '21 at 09:51
  • Boaz Barak has some thoughts on this. You can also check his textbook. – Yuval Filmus Apr 17 '21 at 13:24
  • @NoahSchweber, I see, thanks. I still believe that the first paragraph doesn't add anything to the post:) –  Apr 17 '21 at 22:24

0 Answers0