I was hoping to get some feedback on a Turing Machine I designed, but I'm not sure where to ask it appropriately. Code Review's don't ask page says "We review code, not concepts, diagrams, or outlines. Whiteboard-style questions may be suitable on Software Engineering if they are specific." I realize that's necessarily vague with what's allowed here because it's a different exchange, but I haven't found any answer as to where Turing Machine diagrams would be on-topic for review, if anywhere. SE's on-topic guidelines is silent regarding diagrams or outlines. If Turing Machines are allowed, would they only be acceptable in image diagram format? Would its 7-tuple be allowed as a list and table? Would an online simulator's code be acceptable if the website and a brief explanation of its code were given?
2 Answers
We have explicit guidance for design review questions. However, if you're asking about Turing Machines in the theoretical computer science sense, you may want to ask on Computer Science (check out their Help Center and Meta first, though). We tend to focus on building software systems, while Turing Machines are models of computation.
-
2I don't think the OP is asking about design review. He is asking about code represented as a diagram, akin to a visual programming language. Feb 19, 2017 at 11:32
-
1@JörgWMittag A Turing Machine has nothing to do with code. If you're building software that is designed to represent a Turing Machine, reviewing the software design is on-topic here. If you have code that represents a Turing Machine that works but needs to be improved, that can go to Code Review. If you are trying to write code that simulates a Turing Machine and have problems, that goes to Stack Overflow. But since a Turing Machine is a theoretical model of computation, most Turing Machine questions probably belong on Computer Science.– Thomas Owens ModFeb 19, 2017 at 13:04
-
I'm starting to think you've designed a hypothetical program to be executed by a Turing Machine, but you mention several times that you're asking about the design of a Turing Machine itself. I think some potential answerers have been scared off by that ambiguity. Feb 23, 2017 at 15:36
It is not clear to me what you expect to gain from your question, or rather, the possible answers.
If you have a function or language specification in math or English and designed a Turing machine that ought to implement it, and what you want to know is whether you've completed the task correctly, that sounds a lot like “please check my homework for me” which is not likely to become a well-received question and very likely won't help anybody else. This would be even more so if the question were “Please explain to me how this Turing machine works”.
You might try asking a question about “debugging” a Turing machine on Stack Overflow. If the question is not too localized, it should be appropriate. Personally, I might answer there. (A possibly appropriate question might ask “How can I reverse a word?”, “Is there a more efficient way to compact my tape?” or “Is this addition routine correct?”)
If you want to solve a practical programming task and decided to do it by formally specifying a Turing machine, you've probably picked just about the least appropriate technology for the task at hand. I don't see what a “review” should point out here.
If you have designed a Turing machine in order to prove a theoretical lemma about computability or complexity, I'm afraid that this will be the wrong site to ask for comments. Computer Science might be an appropriate place but since I'm not active there and therefore not familiar with that site's scope, I'm somewhat hesitant to suggest you post it there just because their name sounds alright.
Unless I've missed a possibility, I'm afraid that the question seems off-topic either way.
If you do post it, feel free to use a representation (diagram, table, natural language) that is most comprehensible. This choice might well depend on the machine itself. I can see no reason why any particular format should be mandated. Beware that graphical representations won't be approachable by people with visual impairments, though.
-
Thank you for the thoughtful answer! My question would have been for a review of the Turing Machine design I made to reverse a bit string, and I would have been hoping for something akin to a code review, but of the efficiency of/thought-suggestions for the design of the TM. I guess this is closest to your first point, but, if it were outright code, that is exactly what the CR exchange is for. It doesn't involve the "please check my hw" attitude at all. I've asked around on a few different exchanges because it seems to be between the lines, but it does sound like the CS exchange would be best.– BrainFRZFeb 23, 2017 at 14:01
-
@BrainFRZ Yes, if it were executable code, CR would definitely be the place to go. (We also do check homework there, if it is on-topic, btw.) CR meta is silent on Turing machines, though. Feb 23, 2017 at 18:36