Talk:Clique problem/GA1

GA Review
The edit link for this section can be used to add comments to the review.''

Reviewer: Spinningspark (talk · contribs) 21:38, 26 December 2016 (UTC)

Looking... SpinningSpark 21:38, 26 December 2016 (UTC)


 * Lead
 * Symbol confirmed.svg You might consider wikilinking adjacent (graph theory). I know that only goes to the glossary, but that could be a good thing for a reader unfamiliar with the subject.  It points them early on to a central place where they can get a quick def of unfamiliar terms.
 * Added. —David Eppstein (talk) 02:52, 2 January 2017 (UTC)
 * Symbol confirmed.svg "worst-case optimal time" (or even "optimal time") is not a phrase found in the article body, nor is it explained or wikilinked.
 * This is a summarized version of the sourced claim in the first paragraph of subsection "Listing all maximal cliques" that "this provides a worst-case-optimal solution to the problem of listing all maximal cliques". Just before that claim, I added a new clarification "matching the number of cliques that might need to be listed" for why this is optimal. —David Eppstein (talk) 02:52, 2 January 2017 (UTC)


 * General
 * Symbol confirmed.svg There needs to be a link to big-O notation on first use. Likewise big-theta, big-omega, little-o etc.
 * Symbol confirmed.svg The brackets following the big-O etc butts right up. They need a space, or a thin space
 * I added explanations for the first use of each notation. It turns out that &amp;thinsp; is far too wide but that italics correction does the job. Here is a comparison:
 * $$O(n)$$ — $$O(n)$$
 * $$O\,(n)$$ — $$O\,(n)$$ (the LaTeX equivalent of &amp;thinsp;)
 * —David Eppstein (talk) 04:38, 2 January 2017 (UTC)
 * $$O(n)$$ — $$O(n)$$
 * $$O\,(n)$$ — $$O\,(n)$$ (the LaTeX equivalent of &amp;thinsp;)
 * —David Eppstein (talk) 04:38, 2 January 2017 (UTC)


 * History and applications
 * Symbol confirmed.svg "...reported at the time in major newspapers" is cited to the NYT, but that paper does not say it was reported in other papers. We need either a source saying it directly, cites to several different papers carrying the story, or just say it was reported in NYT.
 * Changed to just say the NYT. —David Eppstein (talk) 07:59, 3 January 2017 (UTC)


 * Definitions
 * Symbol confirmed.svg "The clique decision problem is not of practical importance; it is formulated in this way in order to ..." Is this just a reformulation of the k-clique problem?
 * The problems are different because they have different outputs (a clique vs a boolean). The sentence above the bullets does say that they are closely related. —David Eppstein (talk) 07:59, 3 January 2017 (UTC)


 * Finding a single maximal clique
 * Symbol confirmed.svg "the one found by the greedy algorithm described above". This is the first mention of greedy algorithm, so it is unclear what this is referring to.
 * It was referring to "the algorithm described above" (in the same paragraph), and describing it as a greedy algorithm. But I moved the greedy link earlier in the paragraph in hope of making this clearer. —David Eppstein (talk) 01:21, 8 January 2017 (UTC)


 * Cliques of fixed size
 * Symbol confirmed.svg "When k is part of the input to the problem, however, the time is exponential." In what sense was k not part of the input in the prior cases?
 * It was not part of the input in the immediately preceding sentence, which says "whenever k is a fixed constant". Fixed constant means that it is hardcoded into the algorithm rather than being part of the input. I'm at a bit of a loss on how this could be phrased any more clearly; do you have suggestions? —David Eppstein (talk) 01:21, 8 January 2017 (UTC)
 * Understood. Any of "when k is not fixed...", "when k is variable...", "when k is not a constant..." would have made it clear to me on first reading.  I'm not sure how important it is to say "part of the input", but both could be said if necessary "when k is not fixed and forms part of the input..."
 * Ok, copyedited per your suggestions. —David Eppstein (talk) 23:49, 9 January 2017 (UTC)


 * Listing all maximal cliques
 * Symbol confirmed.svg "...although the reverse of this order is NP-hard to generate". Interesting, but why is that relevant here?
 * Because it means that the ordering makes a big difference in whether it's possible to list the cliques efficiently. Edited to clarify what NP-hard means in this case (no polynomial-delay algorithm exists unless P = NP). —David Eppstein (talk) 01:21, 8 January 2017 (UTC)
 * Symbol confirmed.svg The sentence beginning "In particular, the planar graphs, and more generally..." is very hard to parse. I had to read it several times before understanding.  Can the statements be broken into separate sentences?
 * Done. —David Eppstein (talk) 01:21, 8 January 2017 (UTC)


 * Finding maximum cliques in arbitrary graphs
 * Symbol confirmed.svg The mention of adiabatic quantum computing concerns me on two counts. Firstly, as far as I am aware, this is still largely speculative, but you wouldn't know that from what is written (or by following the wikilink for that matter).  Secondly the ref is a preprint; has this actually been published?  I'm not saying don't use preprints as refs, but making solid claims about speculative subjects on the basis of them is a bit iffy.  Maybe it could be reworded with " has suggested that..." or some such.
 * Huh? The adiabatic reference, by Childs Farhi Goldstone and Gutmann, is a journal paper, and always has been listed as such. It had a link to the preprint version for convenience since most readers aren't going to be able to access the official journal version very easily. But I added the link for those who can. (Also, with a notable co-author, it might well pass the "recognized expert" clause of WP:SPS, but as a journal paper I don't think we need to worry about that.) —David Eppstein (talk) 23:49, 9 January 2017 (UTC)
 * Ok on the source then, but it still remains the case that this is a speculative proposal, no? Nobody has actually found cliques using quantum computers have they?  Does a quantum computer capable of doing it actually exist?  That's what troubles me about it; it just appears in a list of methods as if it is a real thing. I think some kind of caveat would be in order. SpinningSpark 00:28, 10 January 2017 (UTC)
 * Added "that have been suggested". —David Eppstein (talk) 07:55, 10 January 2017 (UTC)


 * Special classes of graphs
 * Symbol confirmed.svg Wikilink chromatic number
 * Done. —David Eppstein (talk) 23:50, 9 January 2017 (UTC)


 * Approximation algorithms
 * Symbol confirmed.svg "Although the approximation ratio of this algorithm is weak, it is the best known to date" Is this sourced to Feige? If not, where?
 * Feige wouldn't really be a good source for this sort of evaluation of his own work. But I found and added a recent (2015) publication that says the same thing. —David Eppstein (talk) 06:10, 12 January 2017 (UTC)


 * NP-completeness
 * Symbol confirmed.svg "Karp's NP-completeness proof is a many-one reduction from the Boolean satisfiability problem for formulas in conjunctive normal form, which was proved NP-complete in the Cook–Levin theorem." Ugh! Too much jargon in one sentence. Although the sentence is understandable after following all the links, it is very difficult for a general reader.  This might be another case where the same material would be ok if split into more than one sentence.
 * Split into three sentences. —David Eppstein (talk) 06:17, 12 January 2017 (UTC)
 * Symbol confirmed.svg "CNF" If the article is to use abbreviations, it should give them in brackets after the first use of the term in full.
 * Done. My usual tendency is just to spell them all out instead of using abbreviations, but I felt that three repetitions of this long phrase in a single paragraph would have been too much. —David Eppstein (talk) 07:57, 10 January 2017 (UTC)


 * Circuit complexity
 * Symbol confirmed.svg "Supergraph" needs a link or a gloss
 * Done: supergraph. —David Eppstein (talk) 07:59, 10 January 2017 (UTC)


 * Hardness of approximation
 * Symbol confirmed.svg "for every ε > 0" I'm not seeing a definition of ε.
 * Changed to "for every real number $O(n)$". —David Eppstein (talk) 08:01, 10 January 2017 (UTC)
 * Symbol confirmed.svg "However, an invalid proof may sometimes mistakenly be accepted, as long as the probability that a checker makes a mistake of this type is low." The logic of that statement escapes me.  If the probability is high then an invalid proof may still be accepted.  So surely this just says an invalid proof may sometimes be accepted without qualification? SpinningSpark 16:23, 29 December 2016 (UTC)
 * I don't understand your confusion here, to be honest. What part of the fact that the checker behaves randomly, that it is required that this random behavior should cause it to have low probability of making certain kinds of mistakes, and that other kinds of mistakes are strictly forbidden, is unclear? Why should the fact that a mistake can sometimes happen allow use to forget about the probability of it happening and just say that mistakes can happen without qualification? What needs to be changed here to make this less confusing? —David Eppstein (talk) 08:06, 12 January 2017 (UTC)
 * My problem is that I don't think the sentence is quite saying that semantically. If I have understood your reply correctly, the meaning is supposed to be that it can be acceptable for the algorithm to return some false positives provided the probability of doing so is low.  What the sentence actually says (apparently) is that false positives only occur when there is a  low probability that a checker makes such a mistake.  Clearly that interpretation is illogical and not correct, but it hides the correct meaning.  This leads me on to the meaning of the following sentence: "An instance of the satisfiability problem should have a valid proof if and only if it is satisfiable."  How does that square with the possibility of false positives? SpinningSpark 14:58, 12 January 2017 (UTC)
 * Ah, I see. I hadn't noticed that ambiguity. Reworded, splitting into two sentences. —David Eppstein (talk) 04:18, 13 January 2017 (UTC)

Thanks for the thorough listing of issues! I plan to work on these over the next week or so, responding to them individually; I'll ping you again when I think I've done. —David Eppstein (talk) 20:04, 29 December 2016 (UTC)


 * The external links tool is showing a number of deadlinks (three 404 errors page not found, one server not found, and one 301 error redirecting problem.) While deadlinks are not a cause to fail a GA, that's quite a lot and you might want to do something about them. <b style="background:#FAFAD2;color:#C08000">Spinning</b><b style="color:#4840A0">Spark</b> 15:12, 12 January 2017 (UTC)
 * Done. Is that everything? —David Eppstein (talk) 04:18, 13 January 2017 (UTC)
 * Yes, that's done, promoting to GA. A pleasure doing business with you. <b style="background:#FAFAD2;color:#C08000">Spinning</b><b style="color:#4840A0">Spark</b> 14:04, 13 January 2017 (UTC)