# How to ask a good question

The moderators spend considerable time on editing badly written questions. A possible way for reducing the number of badly written questions is writing down some guidelines (similar to the MO guidelines) on how to ask/write a good question, and possibly add a link to it on the top of the "ask question" page.

This thread is for discussing related issues, specially what should be included in our guidelines?

Related: Policy on editing questions ?

• no need: on meta it doesn't matter so much anyway. – Suresh Venkat Sep 13 '10 at 21:31
• @Suresh: I think CW is better for threads about formulating guidelines, because we want to encourage people to edit each others texts. – Charles Stewart Sep 14 '10 at 19:23
• I agree with Charles – Ryan Williams Sep 14 '10 at 20:30
• I have just realized that there is a boilerplate page called How to Ask and the system FAQ links there. That page is pretty good, although (naturally) it does not cover the issues specific to cstheory.stackexchange.com. – Tsuyoshi Ito Apr 26 '11 at 14:45
• @Tsuyoshi, that's nice. Should we add a link to it inside the question? I can also edit the editable part of the site's FAQ to add a link to it increasing the visibility. – Kaveh Apr 27 '11 at 5:58
• @Kaveh: From here, probably. From the system FAQ, I am not sure. The system is already long, and adding a link from there may not be very effective (and there is a link from there already). – Tsuyoshi Ito Apr 27 '11 at 10:12
• @Suresh: Not sure what to do, but your first comment now looks as if you are saying “No need to ask a good question.” :) – Tsuyoshi Ito Feb 7 '13 at 18:08
• ah. I think it was about whether to make it CW. – Suresh Venkat Feb 7 '13 at 21:22
• think there is too much preoccupation se-wide with so-called "quality questions". se software inherently/by design does not value questions at 5 pts as much as answers. think there is too much meta near-obsession by communities with "quality questions", imho it reflects a lack of supply/inhibition on asking reasonable questions. think communities should review & better understand official guidelines eg optimizing for pearls not sand – vzn Mar 1 '14 at 18:51

### Come back soon, check if there are comments, and fix your question

No drive-by asking, please; nurture your question. Use other people’s comments as a hint to improve your question (instead of merely posting a reply in another comment). Do not post a question and then leave for a two-week vacation.

• nice one. I've been frustrated by this before, after crafting a beautiful answer and getting a dead silence in return. – Suresh Venkat Sep 17 '10 at 22:56

A corollary of this is: Try to answer by yourself before posting a question. If you really care about a question, the first thing to do should not be posting the question on a website, but trying to solve it by yourself. This includes looking up literature, formulating it from different angles, considering small cases, special cases and/or variations, and so on; in short, what you normally do to solve a problem. If you do not want to think about the question by yourself, ask yourself whether you really care about the question.

This does not mean that you must not ask a question unless you have proved that you cannot answer it by yourself (which is obviously impossible). However, make some reasonable effort to try to answer your own question before posting it.

Related guidelines:

• Even if you care about the question, the reader may not know it. Therefore, it is a good idea to include some evidences that you care about it in the question. Doing so also helps the reader to understand the question better and hopefully results in better answers. For more on this point, see this guideline and this guideline.
• This is closely related to Suresh’s answer, Kaveh’s answer and the other answer of mine, but this is more fundamental than them in my opinion. – Tsuyoshi Ito Sep 15 '10 at 14:37
• I like it. Ask what you care about, and ONLY ask what you care about. The ONLY makes sure that you've done due diligence. nice ! – Suresh Venkat Sep 15 '10 at 16:25
• @Tsuyoshi Ito: I share your feeling about not asking questions that I am personally working on. But assume that you are working on a problem and in the middle of your work you need some bound on some quantity to make your proof go through, but you are not an expert on those kind of quantities. In this situation I would post a question asking for bounds on the quantity on cstheory as I would ask the same question from a friend who knows more about those kind of quantities. – Kaveh Sep 15 '10 at 18:07
• @Kaveh: I assume that your story is not about throwing a tedious calculation one needs to do at other people, but about asking for calculation which requires some expertise. In that case, I guess nothing is wrong about asking it on the website, as long as it is really what the questioner cares about and he/she has considered about it enough to conclude that it requires something which he/she does not know well. – Tsuyoshi Ito Sep 15 '10 at 21:35
• This hopefully goes without saying, but this answer builds on top of other answers to this question. In particular, most items in the list “looking up literature, [...]” come from the itemized list in Suresh’s answer. – Tsuyoshi Ito Sep 15 '10 at 21:51
• @Tsuyoshi: No, I did not meant asking someone to do the tedious calculations. I think one good way of checking appropriateness of a question is by asking oneself "would I ask it from a colleague offline?". – Kaveh Sep 16 '10 at 2:39
• @Kaveh: In that case, I do not see any disagreement between us, unless I am missing something. – Tsuyoshi Ito Sep 16 '10 at 2:44
• For records, I removed two comments of mine which had mentioned a shortcoming of this answer because I hope I addressed it in revision 5. – Tsuyoshi Ito Sep 16 '10 at 4:35
• think it is unusual for ppl not to care about questions that they ask, it seems an inherent contradiction. curiosity is related to caring about the question/answer. it is true there are degrees of caring, but it is not really for the community to judge this extraneous issue. the votes determine whether others care about the question. it would help if TI cited some actual question he thought was out of line wrt this criteria rather than proposing this (imho) largely abstract/hypothetical guideline.... it is strange that this critiera seems to boil down to self-contradictory "avoid asking"...! – vzn Mar 1 '14 at 18:54

### Tell us why you care

There are many open problems, and it's not hard to post them as questions one by one. But if you want someone to care enough to write an answer, it's useful to know where you're coming from, and if you've put in some due diligence. Evidence of this would include

• things you've gleaned from google searchers/wikipedia
• cases where the question can be answered
• identifying what appears to be the key stumbling block

The ideal question is one where some expert probably knows the answer, but you'd normally have no chance to ask them directly, and take advantage of their expertise. If a problem seems to be open, there's probably a good reason for this, and asking it here is unlikely to generate an answer.

• Would this better be "Tell us what you've tried"? Or even, "Show us how much you care"? – Charles Stewart Sep 15 '10 at 8:39
• Or maybe even, to make it more obviously complementary to Kaveh's point: "Tell us why we should care", but it would need a bit of reworking to fit that headline. Would you like to make it CW, so we can trample over your nice wording? – Charles Stewart Sep 17 '10 at 8:53
• @Charles, done ! trample away... – Suresh Venkat Sep 17 '10 at 14:40
• And I like your reformulation – Suresh Venkat Sep 17 '10 at 14:40

### Understand what you really want to ask

This may sound odd but, even if you know that you want to ask something, it is sometimes difficult to pin down exactly what you really want to ask. It is a good idea to make some effort to identify the exact question you want to ask before actually posting a question.

For example, many people incorrectly ask “Is there an algorithm which computes X?” when what they really want to know is “Is there a polynomial-time algorithm which computes X?” or even “X can be computed in time O(n3) in a straightforward way. Is there a faster algorithm?”

Knowing the precise question makes it easier to write a clear and easy-to-understand question, which hopefully makes more people interested in your question. Also, by the time you know the question well enough so that you can state the question clearly, you can sometimes find out the answer by yourself!

Related guidelines:

• Why should you make any effort to ask a question in the first place? See this guideline.
• Asking a precise question also allows one to tell what is an answer and what is not. See this guideline for more on this.

Reading your question before you post it is an obvious way to improve it, but here is a more technical guideline: read your question after you post it, too.

Sometimes a question or part of it is formatted badly because of some technical limitation of the server (or JavaScript or browser or whatever, I do not know). For example, part of a formula can be missing (in particular LaTeX math on this website seems to often have a problem with $\lt$, $\gt$, $\{$ and $\}$). Read your question after you post it to make sure that everything is as you intended.

If you find a problem, please edit the question by yourself or ask for help in a comment to your question.

• I know almost nothing about the internals of the website, so I am sure that this answer is inaccurate. Please feel free to edit it. Also I do not know if asking for help in a comment is the right thing to do (but I cannot think of anything better). – Tsuyoshi Ito Sep 16 '10 at 11:48

### Use math rendering

LaTeX is enabled on our site, and there's really no reason not to use it, especially if you're typing in LaTeX style anyway. Alternatively, you can use unicode rendering to get subscripts and superscripts, or even simple HTML constructions. If your question involves a reasonable amount of math notation (even lots of sub/super scripts) and doesn't use one of these approaches, it's liable to get closed or heavily downvoted.

• Use Latex not only in the body of your question but also in its title. – Jukka Suomela Sep 13 '10 at 17:07
• For an unknown reason, I prefer HTML to LaTeX, as in cstheory.stackexchange.com/questions/716/…. Is it that bad not to use LaTeX? – Tsuyoshi Ito Sep 14 '10 at 2:28
• actually no that's fine, as long as it's readable. the problem I guess is that people write latex without doing the $..$ enclosure that actually generates the latex. – Suresh Venkat Sep 14 '10 at 6:00
• @Tsuyoshi: Anything is fine as long as the end result looks good. The question that you linked is fairly readable, but I think it would be better if you used italics for symbols. This should be doable in HTML, too. – Jukka Suomela Sep 14 '10 at 8:19
• @Suresh, @Jukka: Thanks for the reply and suggestion. I agree that making variables italic is probably better. I will try it next time I post. – Tsuyoshi Ito Sep 14 '10 at 11:54
• Due to ongoing MathJax problems (with mobile devices as well as Firefox, with caches cleared) I'm becoming less excited about using LaTeX notation. On my phone the various MathJax components often time out, leaving error messages instead of formulas, so I'm starting to avoid LaTeX markup for variable names and smaller bits of notation. When LaTeX markup is used in the title or in key parts of the question, what remains is often incomprehensible. – András Salamon Sep 14 '10 at 15:00
• I'm another HTML character entities preferer, particularly in qn titles: Mathjax is much flakier, and doesn't have the good property that jsmath has of making the Tex-like source available, either when it fails or in a hover box. Can we change this item to (i) say that html math is ok, and (ii) mention the Mathjax issues? – Charles Stewart Sep 14 '10 at 19:22
• This is not correct. I am able to right click to get the source for mathjax rendering – Suresh Venkat Sep 15 '10 at 1:21
• If you agree that using LaTeX is not the only way, I appreciate if you can remove a warning like “If your question [...] doesn't use LaTeX, it's liable to get closed or heavily downvoted.” (By the way, I agree that using LaTeX is a reasonable advice to give in the FAQ because using Unicode characters can be trickier.) – Tsuyoshi Ito Sep 15 '10 at 2:04
• edited in the light of the comments, and made it CW. – Suresh Venkat Sep 15 '10 at 4:29
• @Suresh I am able to right click to get the source - Hmm. I've looked again: I get a right menu for mathjax completely hidden under Firefox's default right menu. I can get that menu back, and view source, which appears in a new window. This is a horrible UI: when Mathjax fails, as it fairly frequently does, to render a Latex-formula dense page, looking at the source this way will be very time consuming. But switching Mathjax to output Mathml seems like a workaround. @András: have you tried using the Mathml output? – Charles Stewart Sep 15 '10 at 8:26
• When MathJax finds a formula in the document it (1) hides it, (2) renders it, and (3) replaces it by the result of rendering. I believe it's possible to configure MathJax to skip (1), so that if it gets stuck at (2) you still see the TeX source. – Radu GRIGore Sep 15 '10 at 13:00
• @Radu: Not that I've seen. – Charles Stewart Sep 15 '10 at 13:18
• @Charles: I didn't test, but that's what the comment on preview inside tex2jax inside MathJax.Hub.Config inside MathJax/config/MathJax.js says. – Radu GRIGore Sep 15 '10 at 17:24

Ask a focused question that has a specific goal

Some of the questions I vote to close fail this test. As the MO FAQ puts it:

Ask yourself, "If I saw an answer to this question, could I confidently determine whether it tells the asker what she actually wants to know?"

Come to the think of it, the MO FAQ is very well written. Can we copy some of it verbatim?

• I think that that specific section distinguishes MathOverflow from general bulletin boards on mathematics. It would be very good if we can adopt it. (I agree that other sections are good, too.) – Tsuyoshi Ito Sep 15 '10 at 17:42
• I'm all for adopting it in totality, or partially. We should probably check with the MO admins if this is ok with them. for now, it might be sufficient merely to link to their page – Suresh Venkat Sep 16 '10 at 3:54
• I'm quite sure they would have no problem, since I think their FAQ is licensed under "Creative Commons Attribution-Share Alike 3.0 Unported License with attribution required." So we'd just have to copy it and attribute it to them. We should check with them of course, as a matter of courtesy. I guess what we have to do is decide collectively if we want all of that to part of our FAQ too. – Robin Kothari Sep 16 '10 at 4:51
• The link to MathOverflow is now broken. Do you have a more up-to-date replacement? – D.W. Jul 21 '13 at 2:39

### Provide background information

Try to make your question self-contained. The users of this site are not machines and are not paid to answer your questions. Be nice to others. Spend some time in explaining the background of your question and the terminology you are using to make it understandable to people not familiar with what you are asking (at least provide a link to a source that would explain the terminology). Make reading your question pleasant to other users of the site.

You might say, “But anyone working on this field should know what XYZ is. If someone does not know what it is, he/she cannot answer my question anyway, so explaining it will not help my question get answered.” That may be correct or incorrect. It may be incorrect because sometimes people from surprisingly different background can give you useful insight if a question is written in an accessible way. However, more importantly, do not be selfish. Let other users learn from your question even if they have absolutely zero probability of being able to answer your question.

• I edited the answer to include a counterargument to an argument against providing background which I have seen several times. – Tsuyoshi Ito Feb 4 '11 at 10:36

Tell us why you care

Motivate your question. Explain not just why the question is "mathematically interesting" -- why are you personally interested? Is it related to some other problem that you are working on? Were you reading a paper and didn't understand some part of it? ...

This site is not an encyclopedia of possible good questions. This site is mainly for researchers to help each other about problems they face during their research.

Providing clues about personal motivation helps make questions interesting and easy to understand, and ensures answers are more useful to everyone.

• Yes, yes! I've added two paragraphs, paragraph two about helping answerers help you, and paragraph four providing a summary, which is in some kind of conflict with Kaveh's paragraph three. I've left them like that, so we can keep open how we want to end this point. – Charles Stewart Sep 15 '10 at 8:38
• I am not sure if I like Charles Stewart’s revision. Before the revision, it gave a complementary viewpoint to Suresh’s answer; while Suresh’s answer focuses on things you would normally write in the introduction of a paper, this answer focused on a more personal aspect of motivation, which was a great point to pay attention to. Now the difference of the focuses between the two answers is not so clear. – Tsuyoshi Ito Sep 15 '10 at 14:44
• Thanks Charles for improving this answer. I modified your paragraphs a little bit so the main point of it which is personal interest is not lost in the details. Please let me know if you are not happy with my modifications. – Kaveh Sep 15 '10 at 17:53
• This might be only me, but the second paragraph (in revision 4) is confusing and difficult to read for me. I guess that this paragraph is listing up some of the things a questioner can include in a question to convince readers that the questioner has personal interest in knowing the answer. If this is correct, using an itemized list might make the paragraph more readable. – Tsuyoshi Ito Sep 15 '10 at 21:42
• By the way, how about changing the title from “Tell us why you care 2” to something more descriptive, e.g. “Tell us why you personally care”? – Tsuyoshi Ito Sep 15 '10 at 23:58
• I think I see what you mean. There are two points here, and although they are related, having both of them in one answer makes the answer confusing. The first one is about showing personal interest, the second one is about the effect of providing personal motivation in improving the answer one would get. I think posting the second one as another answer can remove the confusion. – Kaveh Sep 16 '10 at 2:56
• Simplified sentence construction a little, and added a few phrases. I think a trimmed version of this answer may be more effective. – András Salamon Sep 16 '10 at 15:00
• @András: agreed. I like this answer: it makes a lot of good points effectively, but the text as a whole would be more effective if it were more condensed. Aaron's last edit was a good step in this direction; I'll look for more improvements later. – Charles Stewart Sep 17 '10 at 8:47
• "tell us why you care" this is repeated by suresh in another answer – vzn Mar 12 '14 at 16:45

Is this really the question you want to ask?

All too often, we think that we need to solve some problem by getting the answer to a particular question, but then it turns out that the answer doesn't help us the way we expected, or there can be no answer at all. This may be because we had some misconceptions about our problem, or because the question we think we need the answer to in fact was overly boad or narrow for the answers to help us.

It may still be the best course to ask the question you haven't yet realised is wrong, but trying to look for alternative questions before asking may help you get more useful answers.

• Very roughly drafted, please feel free to turn the text upside down. My first question here, Extensions of beta-theory of lambda calculus, is an example of a not-what-I-was-after question. – Charles Stewart Sep 17 '10 at 9:13
• In my opinion this is the same as my answer, phrased differently. I do not think that keeping both answers is a good idea, especially if we sometimes give a link to this meta question to ask someone to consider how to post a question. I made my answer a community wiki, so you may want to edit it. Or if you want to keep yours I can delete mine too. – Tsuyoshi Ito Sep 17 '10 at 11:16
• @Tsuyoshi Ito: We do indeed have a problem with overlapping points here. I has not toticed that this overlapped with yours. The solution is to talk about how the points fit together. I'm planning on writing such a post as an answer. – Charles Stewart Sep 17 '10 at 11:27
• @Tsuyoshi: You mention formulating it from different angles in the context of trying to solve a problem - this is not quite the same point I am making. This assumes the questioner has been diligent in trying to solve the problem, but for reasons that have eluded them, the question does not match their interest in the problem that led to it. – Charles Stewart Sep 17 '10 at 11:54
• I think that you misunderstood my comment. The answer I referred to is not this but this. – Tsuyoshi Ito Sep 17 '10 at 12:56

Try to be as specific as possible about the title of your question. Avoid using general titles that don't specify your question. Don't use the title as a tag.

MathOverflow has a very well written guideline about asking questions, all of the items in their guideline applies to this site also. Please read their guideline.

This is an issue with questions posted by users who are not mathematicians or theoretical computer scientists. On this site we typically expect questions to be mathematically rigorous. If a question is not mathematically rigorous then it is difficult to see what would constitute a suitable answer.

If your question is still at the stage of mathematical modeling then it would be better to first post a question about how to mathematically model the problem you want to solve. After that you can post a question on how to solve it.

### Don not include too much unrelated details

Focus your question on the question you want to solve. You should stated your question such that it is easy to understand what you are asking. Providing a it of background is encouraged but you should keep it separate from the question you want to solve.

### Don't impose unnecessary restrictions on answers

If you ware looking for an algorithm for a problem and don't impose unnecessary restrictions on how to solve it. E.g. if you are looking for a fast algorithm for problem X and you don't care whether the algorithm uses data structure D or not, ask for the fastest algorithm to solve X, not how to implement the data structure D that then you can use to solve the problem.

By putting unnecessary restrictions on how to solve a problem you are depriving yourself from answers that do not satisfy those restrictions.