3
$\begingroup$

Similarly to What should the AI.SE Site Description be? and after the discussions On-topic and off-topic pages need to be clarified and Who decides and writes the on-topic and off-topic pages?, I think it is time to vote for a clearer and updated version of the on-topic page, which users (but especially moderators) should strictly adhere to.

You should vote for the answer that proposes the best alternative to the current on-topic page. You can also propose a new on-topic page, if you are not happy with the current proposals.

After a reasonable consensus is reached, the moderators should update the site descriptions to match the top voted answer.

$\endgroup$
2
$\begingroup$

What topics can I ask about here?

If you have a question about theoretical, philosophical, social, historical, and certain developmental and academic aspects of artificial intelligence, then you are probably in the right place to ask your question!

Below you can find a non-exhaustive list of specific topics that are considered on-topic here. Next to each topic, you have links to other stacks where the corresponding topics may also be on-topic.

Specific topics

You can ask a question about the theoretical aspects of the following sub-fields of artificial intelligence.

  • Artificial general intelligence
  • Affective computing
  • Swarm intelligence
  • Evolutionary algorithms (1, 4, 6)
  • Machine learning (1, 2, 4, 6)
  • Computational learning theory (1, 6, 7)
  • Natural language processing and understanding (6)
  • Computer vision (1, 2, 4, 6, 10)
  • Knowledge representation and reasoning (6)
  • Robotics (5)
  • Planning (6)

The following philosophical (or theoretical) aspects are on-topic.

  • Intelligence definitions and testing
  • Superintelligence
  • Emotional intelligence
  • Artificial consciousness

The following social aspects are on-topic.

  • Ethics (3)
  • Explainable artificial intelligence
  • Applications

The following historical aspects are on-topic.

  • Timeline (e.g. AI winters)
  • Progress

You can also ask questions about

  • Terminology and notation
  • Proofs (8)
  • Clarifications of certain excerpts from papers, books, etc.
  • Reference requests (e.g. "Which paper introduced vanilla RNNs?")

Notes

  • Before posting, please, look around to see if your question has been asked before. Your question could be closed as a duplicate of another, if you don't do it.

  • You should put some effort into writing your question. If your question is unclear, it could be flagged as unclear, your question could be closed, and you will not receive help. Furthermore, we expect users to do a little bit of research before asking a question.

  • Ask specific questions! If your question has potentially many answers, your question may be closed as too broad.

  • You should try asking one question or address a single problem per post, unless the questions are really very related to each other. If you ask multiple questions per post, your post may be closed as too broad.

  • Ideally, we are looking for questions that can be answered objectively. More precisely, do not ask for advice (such as career path recommendation or a tool, which are, in general, off-topic here anyway) but for facts (including references) and arguments. If you have a philosophical question, you should demand a logical, rational and reasonable answer that argues the philosophical perspective (and not just an opinion).

  • Implementation questions in the context of understanding the theoretical topics are on-topic. For example, if a theoretical topic is described by a certain mathematical formula and you want to understand how a certain implementation is related to the formula, then your question is on-topic. As a rule of thumb, if you can describe your problem without the source code and if you think that a solution to your problem can be given without the source code, then your question is on-topic. The source code can be provided to further clarify the issue, but you should provide a Minimal, Reproducible Example.

  • General programming questions are off-topic. For example, if you have a question like "Why am I getting this exception?", "How do I merge two Pandas' data frames?" or "How can I use this Keras API?", then your question is off-topic (and you should probably ask it on Stack Overflow).

  • It's also OK to ask and answer your own question.

Overlapping Stacks

If your question is not specifically on-topic for Artificial Intelligence Stack Exchange, it may be on-topic for another Stack Exchange site, such as

  1. Cross Validated
  2. Data Science
  3. Philosophy
  4. Stack Overflow
  5. Robotics
  6. Computer Science
  7. Theoretical Computer Science
  8. Mathematics
  9. Psychology & Neuroscience
  10. Signal Processing

Certain questions are probably on-topic on multiple of these websites. For example, machine learning questions are also on-topic at Cross Validated, which is more statistics-oriented. There are probably other overlapping sites.

If no site currently exists that will accept your question, you may commit to or propose a new site at Area 51, the place where new Stack Exchange communities are democratically created.

$\endgroup$
22
  • $\begingroup$ Right now, it may be a little bit too long. We may need to sacrifice certain parts to shorten it, but I prefer a long but clearer on-topic page rather than a short but ambiguous one. Certain parts of this answer could also be used to write a new off-topic page. I am NOT sure whether hardware, software, and mythology should be on-topic. Maybe we are also missing academic aspects. Feel free to propose edits to this answer. $\endgroup$ – nbro Nov 16 '19 at 4:58
  • 1
    $\begingroup$ May I suggest: "Programming questions that are not specifically about AI concepts are off topic" rather than all such questions? For example, asking about how an AI algorithm has been translated in to source code in a particular package is a question that requires deep understanding of the AI algorithm, and should (IMO) be on topic here. I think we hamstring ourselves if we declare the language that AI is actually realized in to be off topic. We need to be a technical place, or we'll descend into a futurist board without any foundation in the subject. $\endgroup$ – John Doucette Nov 16 '19 at 21:56
  • $\begingroup$ @JohnDoucette I think you should read the whole point. I am also saying "However, if you're looking for a clarification of the implementation of a certain AI concept, then your question may be on-topic. For example, if a theoretical topic is described by a certain mathematical formula and you want to understand the implementation of this formula, then your question may be on-topic.". I am saying that, IN GENERAL, programming questions are off-topic, in the sense that we are not a site where people should be looking for source code or solve mere programming issues (like bugs and exceptions). $\endgroup$ – nbro Nov 16 '19 at 22:00
  • 1
    $\begingroup$ I did read the whole point, although I think I did not convey my meaning clearly. I think that the current wording is too strong, and too restrictive, and that leading with "programming questions are off-topic", in bold, suggests that it is the programming part that is off topic, rather than the "not about AI part" that is off topic. I would be happier with "programming questions about AI algorithms are on-topic, but questions about programming languages in general, specific packages, or data manipulation, belong on DS.SE". $\endgroup$ – John Doucette Nov 17 '19 at 0:53
  • 1
    $\begingroup$ Actually, reading further, I would be pretty upset if we adopted this definition of on-topic. This is way to prescriptive. The list of acceptable "approaches" and "theoretical" topics seems arbitrary to me, and much more restrictive than I would like. I'd be much happier to keep the existing wording. $\endgroup$ – John Doucette Nov 17 '19 at 0:55
  • $\begingroup$ @JohnDoucette Did you know that, in theory, all programming questions are off-topic here? This site would probably not even exist if the premise was to allow also programming questions. Please, see https://ai.meta.stackexchange.com/a/1144/2444 by a super-moderator. I am already allowing certain implementation questions because otherwise some users are unhappy. $\endgroup$ – nbro Nov 17 '19 at 1:27
  • 1
    $\begingroup$ I think our disagreement may stem from a misunderstanding of the difference between Science and Technology. Computer Science includes programming, but is not about programming. AI likewise includes programming, but is not about programming. In contrast, Data Science is about programming, specifically about programming that uses techniques developed in AI. The answer you link to does not say that programming questions are off topic. It says that implementation and tools questions are off topic. They are, and should be. The issue is that programming =/= implementation & tools. $\endgroup$ – John Doucette Nov 17 '19 at 1:35
  • $\begingroup$ @JohnDoucette "Computer Science includes programming, but is not about programming". Well, this makes no sense at all. You want to say that computer science is about algorithms and data structures and not about specific implementations necessarily. Actually, I think that CS is also about programming and definitely about programming languages, which is just a sub-field of theory of computation and compilers, etc. $\endgroup$ – nbro Nov 17 '19 at 1:37
  • 1
    $\begingroup$ As a clearer example, questions involving Math are not off topic just because we have a Math.SE site. The key distinction is questions that use math to describe issues in AI are on topic. Questions that ask things like "What is a derivative" are clearly not. We can, and should, do the same thing for programming questions. The distinction seems very clear (at least to me). $\endgroup$ – John Doucette Nov 17 '19 at 1:37
  • $\begingroup$ No, CS is not about programming. It includes programming. It is about specific implementations, which use programming, but questions like "what does it mean when my program won't compile?" are not really CS questions. They are programming questions. I think this is a widely held view. Programming language design is part of CS, but that is not the same as programming (the action of programming). $\endgroup$ – John Doucette Nov 17 '19 at 1:38
  • 1
    $\begingroup$ The new text is something I'm a lot happier with. I would actually also be fine explicitly saying something like "questions about how to use specific machine learning libraries or tools to solve problems are probably off topic, and should be asked on DataScience.SE instead". I think that might help to reduce the noise a bit. $\endgroup$ – John Doucette Nov 17 '19 at 2:28
  • $\begingroup$ Just looking at this but I like this proposal!!! (The wide range of topics all but ensure we'll continue to grow and always have sufficient questions, but, b/c it's passed through your rigorous filter, nothing is out-of-scope. $\endgroup$ – DukeZhou Nov 19 '19 at 21:15
  • 1
    $\begingroup$ @DukeZhou I tried to accommodate also certain implementation-related questions, which some users think are on-topic, even though I wasn't sure. However, I think I find a good comprise in my description above. I've also included "Hardware or software", but provided that people ask for facts (rather than suggestions, recommendations or opinions). I tried to emphasize this point in the notes. We should really demand users to ask for facts rather than recommendations. $\endgroup$ – nbro Nov 19 '19 at 21:18
  • 1
    $\begingroup$ Academics is a big one--let me think about it. (We should probably ping John Doucette and Dennis Soemers on that.) $\endgroup$ – DukeZhou Nov 19 '19 at 21:25
  • 1
    $\begingroup$ re: hardware/software evaluation. Absolutely let's require that of the OP asking the question. (My comment was that many answers may still be recommendations, but the OP, even if they are seeking recommendations, can still formulate the question in the manner you suggest.) $\endgroup$ – DukeZhou Nov 19 '19 at 21:26
1
$\begingroup$

I like all of the suggestions in general, and think it's now just a matter of hammering out details, and dealing with the competing concerns of brevity vs. extrapolation.

I think we should lift some of the the guidance from Data Science re: Overlap

Even though the boundaries are not always perfectly clear and we often accept questions that are also appropriate on other sites, here are a few guiding thoughts:

If you think a question is equally appropriate on multiple sites, ask on the site with the most users (usually Stack Overflow or Data Science). That way you have the best chance to get good and quick answers and site contents will stay more coherent. If it is not accepted there, it can be migrated to the correct site. Don't post your questions on more than one site.

Other relevant sites include:

Open Data (Dataset requests) Computational Science (Software packages and algorithms in applied mathematics) etc.

$\endgroup$
0
$\begingroup$

I adjusted @nbro's answer to remove the parts I thought were too restrictive. AI is a broad field, and the whitelist of "on-topic" areas omits a huge number of topics which are certainly within AI (consider, for contrast, the topics that are present at AAAI this year alone, all of which are active areas of research). I think that the entry under the "What topics can I ask about here?" is specific enough. If we want to use a list of valid topics, we should formulate it by starting with actual active areas of research for the field, perhaps by amalgamating the keywords and topics that are present at AAAI, NIPS, UAI, IJCAI, AAMAS, CEC, and other major conferences. I suspect that's a lot more work than it's worth however.

I also adjusted the wording of the programming portion to better reflect the idea that programming questions are fundamentally on-topic here, as long as they are about AI algorithms or implementations, and not applications. I think that without this, the stack is going to lack a connection to academic AI, and will descend into a sort of futurism/singularity board. We want to encourage more programming related content, not less, but only of the kind that actually relates to AI.

What topics can I ask about here?

If you have a question about theoretical, philosophical, historical, social and algorithmic or academic aspects of AI, then you are probably in the right place to ask your question!

Notes

  • Before posting, please, look around to see if your question has been asked before. Your question could be closed as a duplicate of another, if you don't do it.

  • You should put some effort into writing your question. If your question is unclear, it could be flagged as unclear, your question could be closed, and you will not receive help. Furthermore, we expect users to do a little bit of research before asking a question.

  • Ask specific questions! If your question has potentially many answers, your question may be closed as too broad.

  • You should try asking one question per post, unless the questions are really very related to each other. If you ask multiple questions per post, your post may be closed as too broad.

  • Ideally, we are looking for questions that can be answered objectively. More precisely, do not ask for advice (such as career path recommendation or a preferred tool, which are, in general, off-topic here anyway) but for facts (including references) and arguments. If you have a philosophical question, you should demand a logical, rational and reasonable answer that argues the philosophical perspective (and not just an opinion).

  • It's also OK to ask and answer your own question.

  • Programming questions about the implementation of AI algorithms, or the source code of implementations of those algorithms, are on-topic. Programming questions about applying AI tools to specific problems are off-topic, and probably belong on DataScience.SE, or the main StackOverflow site. If you're looking for a clarification of the implementation of a certain AI concept, then your question is on-topic. For example, if a theoretical topic is described by a certain mathematical formula and you want to understand the implementation of this formula, then your question is on-topic. However, if you have a question like "Why am I getting this exception?", "How do I merge two Pandas' data frames?", or "How can I use Tensorflow to train a neural network to recognize cats?" then your question is off-topic (and you should probably ask it on Stack Overflow).

Similar websites

If your question is not on-topic for Artificial Intelligence Stack Exchange, it may be on-topic for another Stack Exchange site, such as

Certain questions are probably on-topic on multiple of these websites. For example, machine learning questions are also on-topic at Cross Validated, which is more statistics-oriented.

If no site currently exists that will accept your question, you may commit to or propose a new site at Area 51, the place where new Stack Exchange communities are democratically created.

$\endgroup$
12
  • $\begingroup$ How is this new version better than the current one? The point of my answer is that we should be more specific and not ambiguous, to avoid allowing everything on this site. I'm not saying that all topics listed in my answer are exhaustive, but I should have emphasized that those are the main topics. Which main topics do you think are really missing from my answer? $\endgroup$ – nbro Nov 17 '19 at 1:25
  • $\begingroup$ @nbro I'm not even really sure the listed topics are the main topics. They seem to me to be an odd cross section of AI, and not very reflective of the field's organization as I understand it. I do agree that if we portrayed a set of topics as the main topics of the site (and not the only ones), that would be okay though. I'm quite concerned about the idea of white-listing topics, but I like the idea of suggesting some guidelines. $\endgroup$ – John Doucette Nov 17 '19 at 1:27
  • $\begingroup$ Feel free to suggest a better list of main topics. In fact, I think that my listings are not very well organized and complete, and I will probably improve them. $\endgroup$ – nbro Nov 17 '19 at 1:30
  • 1
    $\begingroup$ "Programming questions about applying AI tools to specific problems are off-topic", I mean, every implementation exists to solve a certain problem, so I don't really get this point. Furthermore, with "Programming questions about the implementation of AI algorithms, or the source code of implementations of those algorithms, are on-topic", you're basically allowing every programming question that is related to AI on-topic here, which contradicts the point above, IMHO. Someone could ask a question without mentioning that that implementation is to be applied to a (real-world) problem. $\endgroup$ – nbro Nov 17 '19 at 1:35
  • 1
    $\begingroup$ @nbro It seems to me like you are not following the distinction between implementation of an algorithm, and application of an algorithm. Apologies if I am mistaken. In the case of neural networks, for example, an AI algorithm might be back propagation. The algorithm itself is clearly part of AI, and questions about how it works would clearly be on topic here. Similarly, the implementation of the algorithm (literally, the translation of that algorithm into source code) is something I think should be on topic here, because understanding that implementation requires ... continued... $\endgroup$ – John Doucette Nov 17 '19 at 1:42
  • 1
    $\begingroup$ requires understanding the algorithm. In contrast, the application of that algorithm (myNN.backprop()) is not on topic. It's likely to be an API function provided in some standard toolkit. It's clearly something for DS.SE, and not for us. You don't need to know about the algorithm to answer it, you need to know about the tool. $\endgroup$ – John Doucette Nov 17 '19 at 1:43
  • $\begingroup$ You're just shifting the problem to the level of libraries and tools that are allowed to use in the implementation of an algorithm. $\endgroup$ – nbro Nov 17 '19 at 1:50
  • $\begingroup$ @nbro I'm not sure I see the problem here. Most AI practitioners do not develop new algorithms. AI researchers (scientists, not technologists) develop new algorithms. DS.SE is meant for practitioners. These people use existing algorithms to solve problems. Tools and libraries used to implement a new algorithm are usually quite different from tools that apply existing algorithms, and indeed, many algorithms do not use specialized tools or libraries, just generic programming language constructs. I think it should be on-topic to ask questions about these. $\endgroup$ – John Doucette Nov 17 '19 at 1:55
  • $\begingroup$ @nbro In fact, maybe that's a good distinction. Perhaps you would find it acceptable to say that it is on-topic to ask questions about the generic source-code implementing AI algorithms, but that any question involving using AI-specific libraries is off topic? So translating algorithmic pseudo-code into Python, or asking about the internals of a library written in C, are on-topic, but asking about the TensorFlow API belongs in DS.SE. $\endgroup$ – John Doucette Nov 17 '19 at 1:58
  • $\begingroup$ To make it clear, personally, I am not against any type of programming question, even the ones that involve the application of implementations of AI algorithms and models to real-world problems. However, originally, this site was meant to cover only the conceptual, philosophical and social aspects of AI, AFAIK. Nowadays, everything can be asked here. The distinction you're making is not a good one, in my opinion, because nowadays almost everyone (even researchers) uses a library (like Keras) to implement any AI model. $\endgroup$ – nbro Nov 17 '19 at 2:07
  • $\begingroup$ In my answer, I am deliberately now allowing all types of AI programming or implementation questions. I am only allowing those programming questions that are needed to fully understand the concepts. At least, I tried to do describe this with an example: "For example, if a theoretical topic is described by a certain mathematical formula and you want to understand the implementation of this formula, then your question is on-topic.". $\endgroup$ – nbro Nov 17 '19 at 2:08
  • $\begingroup$ @nbro Thanks for accommodating, I'll take a look. I do think that you are right about deep learning research. I suspect we're going to have to punt a lot of that over to DS.SE, because it is largely library based, and the choice of library makes it a tools-specific question very quickly. OTOH, deep learning is really just a small (if publicly visible) chunk of AI research. I am an AI researcher, and most of the algorithms I have implemented have used off-the-shelf generic tools, with only a sprinkling of specialized libraries. I just don't work in deep learning. $\endgroup$ – John Doucette Nov 17 '19 at 2:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .